Skip to main content
One command points a tool at a model and starts it. There is nothing to configure by hand:
That runs a model we host, so sign in first with wally account login. Everywhere else, -m takes either kind of id: Wally looks for the model on this machine first and falls back to the hosted catalog. Without -m the tool starts the way you already have it configured, and Wally wires nothing.

Code in the terminal

Claude Code

Anthropic’s terminal agent, pointed at any model you can run.

OpenCode

An open-source coding TUI, local or hosted.

Hermes Agent

Nous Research’s agent, with its own tools and memory.

DeepSeek Harness

The dsh harness and its browser UI.

Connect an assistant

Claude Desktop

The desktop app’s chat and Cowork tabs, on your model.

OpenClaw

A personal agent that runs its own runtime locally.

How the wiring works

Every integration gets the same thing: one OpenAI-compatible base URL. The tool never learns whether the model behind it is on this machine or on the console — for a local model the URL is a server Wally starts and stops around the session, and for a hosted one it is the console’s own endpoint. That is why none of these tools needs a Wally plugin. Two tools speak Anthropic’s Messages API rather than OpenAI’s, so a translator sits between them and the model. It carries tool definitions out, tool calls back, and tool results out again, which is what lets the agent actually run the tools it was given. None of it outlives the session. A config Wally writes is scoped to the child process, and a desktop app it reconfigures is put back when the app quits.

Flags

string
The model to run against. Wally resolves it on this machine first and falls back to the hosted catalog, so a console model id works here on its own. Omit it and the tool starts on whatever it is already configured for.
flag
wally opencode only. Go straight to the signed-in hosted endpoint, and never route a local model.
flag
wally claude-code and wally claude-desktop only. Hold the endpoint open and print it instead of launching anything. This is how you wire up a tool Wally has not been taught about.
flag
wally claude-desktop only. Put Claude Desktop back the way it was and start nothing. A normal run already undoes its own configuration when the app quits, so this is for the run that was interrupted first.
Anything after the flags is passed through to the tool untouched. Set the model a harness uses when you pass no -m:

Claude Code

Needs the claude binary on your PATH. Wally sets the Anthropic base URL and auth token for the child process only, so your normal claude sessions are untouched, and the translator handles the Messages API.

OpenCode

Install it with npm i -g opencode-ai if it is missing. The provider block goes through OPENCODE_CONFIG_CONTENT rather than ~/.config/opencode, so nothing about your own opencode setup changes. --cloud asks for the hosted model explicitly and refuses to fall back to a local one.

Hermes Agent

Starts the TUI. Hermes takes no context-window hint from Wally, so if you want it to budget a session against the full window, add model.context_length to your own ~/.hermes/config.yaml — Wally prints the number to use when it starts.

DeepSeek Harness

Ships as dsh on your PATH. Passing a prompt runs it headless instead of opening the browser UI.

Claude Desktop

Covers both the chat and Cowork tabs. The model is advertised to the app under a name it recognises, while the picker shows the real one.

OpenClaw

Runs tui --local, which embeds the agent runtime in the same process. Plain openclaw expects a gateway daemon and shows “not connected to gateway” on a machine that never installed one. Your existing openclaw.json is merged rather than replaced, so your wizard state, agents and gateway token survive.

Anything else

A tool Wally has not been taught about still works. Ask for the endpoint and point the tool at it yourself:
That prints an OpenAI-compatible base URL and holds it open until you stop it. Any client that takes a base URL works against it unchanged.