More agents
Gemini CLI, Qwen Code, OpenCode, Kilo Code, Crush, Pi, GitHub Copilot CLI, Amp, Grok Build, Goose, Aider, Hermes Agent, OpenHands, Open Interpreter, Cline, Continue, Kimi Code, Oh My Pi, Letta Code and Kode from hanzo --<agent>: how each takes the Hanzo toolset and Hanzo's models.
Each agent here keeps its own login, settings and sessions. For one run, hanzo --<agent> hands it the Hanzo toolset the way that agent reads servers, and under --cloud it points the agent's model calls at api.hanzo.ai. Nothing is written into the agent's own configuration. Your Hanzo token reaches the agent through its environment, never its arguments.
Install an npm agent with hanzo upgrade <agent>. It runs npm install under ~/.hanzo, so the binary lands in ~/.hanzo/bin, and hanzo --<agent> runs that copy before one on your PATH. This needs Node.js 20 or newer. An agent with its own installer is installed once with it, and then hanzo upgrade <agent> runs its own updater. hanzo upgrade with no arguments keeps every installed agent current.
Gemini CLI
hanzo upgrade gemini
hanzo --gemini "explain the build"- Toolset: a settings file for the run, named by
GEMINI_CLI_SYSTEM_SETTINGS_PATH. - Acts without asking:
--yolo.--askleaves its prompts. - Models: your Google account or
GEMINI_API_KEY. Gemini CLI speaks only Google's API, so--clouddoes not apply.
Qwen Code
hanzo upgrade qwen
hanzo --qwen --cloud "add a test for the parser"- Toolset:
--mcp-configwith a file for the run. - Acts without asking:
--yolo. --cloud:--auth-type openai --openai-base-url https://api.hanzo.ai/v1 -m <model>, with your token inOPENAI_API_KEY.
OpenCode
hanzo upgrade opencode
hanzo --opencode --cloud "port this module"- Toolset and provider: one config document in
OPENCODE_CONFIG_CONTENT, loaded with your own config. It holds thehanzoMCP server and, under--cloud, ahanzoprovider athttps://api.hanzo.ai/v1with the model set tohanzo/<model>. - Acts without asking:
--auto. Headless runs useopencode run.
Kilo Code
hanzo upgrade kilo
hanzo --kilo --cloud "fix the lint errors"Kilo Code is built on OpenCode and takes the same document in KILO_CONFIG_CONTENT. kilocode is an accepted spelling.
Crush
hanzo upgrade crush
hanzo --crush --cloud "summarise the open issues"- Toolset and provider:
crush.jsonin a data directory of Hanzo's own,~/.hanzo/crush, passed with--data-dir. Your global Crush config still loads beside it. Under--cloudthe file adds ahanzoprovider, and headless runs pickhanzo/<model>. - Acts without asking:
--yoloon its own screen.crush runhas no such flag.
Pi
hanzo upgrade pi
hanzo --pi --cloud "rename the store"- Toolset: Pi takes no MCP server for a single run, so the toolset is not attached.
--cloud: ahanzoprovider inmodels.jsonunder~/.hanzo/pi, used as Pi's agent directory for the run, with--provider hanzo --model <model>.
GitHub Copilot CLI
hanzo upgrade copilot
hanzo --copilot "write the changelog entry"- Toolset:
--additional-mcp-config @<file>, beside your own servers. - Acts without asking:
--allow-all-tools. - Models: your GitHub Copilot plan.
--clouddoes not apply.
Amp
hanzo upgrade amp
hanzo --amp "review the diff"- Toolset:
--mcp-configwith the server inline. - Acts without asking:
--dangerously-allow-all. - Models: your Amp account (
amp login).--clouddoes not apply.
Grok Build
curl -fsSL https://x.ai/cli/install.sh | bash
hanzo --grok "draft the migration"xAI's Grok Build. It installs grok, and also a binary named agent; hanzo --cursor therefore runs cursor-agent first, so the two never trade places.
- Acts without asking:
--always-approve. Headless runs use-p. - Toolset: Grok Build reads servers only from its saved configuration (
grok mcp add), so the toolset is not attached for one run. - Models: your xAI account (
grok loginorXAI_API_KEY).--clouddoes not apply.
Goose
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
hanzo --goose --cloud "add a test for the parser"- Toolset:
--with-extensionwith the server's command line. Headless runs usegoose run -t, interactive onesgoose session. - Acts without asking:
GOOSE_MODE=autoin its environment. --cloud: goose'sopenaiprovider atOPENAI_HOST=https://api.hanzo.ai, with your token inOPENAI_API_KEYand--provider openai --model <model>.
Aider
uv tool install aider-chat
hanzo --aider --cloud "rename the store"- Toolset: Aider takes no MCP server.
- Acts without asking:
--yes-always. Headless runs use--message. --cloud:OPENAI_API_BASE=https://api.hanzo.ai/v1and your token inOPENAI_API_KEY, with--model openai/<model>and--no-show-model-warnings.
Hermes Agent
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
hanzo --hermes --cloud "summarise the open issues"- On your own account: Hermes keeps its home,
~/.hermes, with its memory and skills, and the toolset is not attached, because Hermes reads servers only from its home. --cloud: Hermes runs in a home of Hanzo's own,~/.hanzo/hermes. Itsconfig.yamlnames ahanzoprovider athttps://api.hanzo.ai/v1, reading your token fromHANZO_API_KEY, and lists the Hanzo toolset as an MCP server.- Acts without asking:
--yolo. Headless runs use-z.
OpenHands
uv tool install openhands --python 3.12
hanzo --openhands --cloud "add a test for the parser"- Headless:
--headless -t <task>, which also acts without asking. Interactive runs take--always-approve. - Toolset: OpenHands keeps MCP servers in its own saved configuration, so the toolset is not attached for one run.
--cloud:LLM_BASE_URL=https://api.hanzo.ai/v1, your token inLLM_API_KEYandLLM_MODEL=openai/<model>, read under--override-with-envs.
Open Interpreter
curl -fsSL https://www.openinterpreter.com/install | sh
hanzo --interpreter --cloud "add a test for the parser"Open Interpreter is a Codex fork and runs the way hanzo --codex does: interpreter exec for a task, the toolset as -c mcp_servers.hanzo.* for the run, and under --cloud a hanzocode provider at https://api.hanzo.ai/v1. It reads its settings from ~/.openinterpreter. oi and open-interpreter are accepted spellings.
Cline
hanzo upgrade cline
hanzo --cline --cloud "fix the failing test"- On your own account: Cline keeps its login and data (
cline auth), and the toolset is not attached. --cloud: Cline runs from a data directory of Hanzo's own,~/.hanzo/cline, passed with--data-dir. Itsproviders.jsonselects Cline'sopenai-compatibleprovider athttps://api.hanzo.ai/v1with no key in it, so Cline reads your token fromOPENAI_API_KEY, andcline_mcp_settings.jsonbeside it lists the Hanzo toolset.- Acts without asking:
--yolo, and the task is Cline's first argument. Under--yoloCline ends by submitting a summary, whichhanzoprints as its answer.
Continue CLI
hanzo upgrade continue
hanzo --continue "explain the build"cn -p on your Continue account and configuration. cn is an accepted spelling. Neither the toolset nor --cloud applies.
Kimi Code
hanzo upgrade kimi
hanzo --kimi "review the diff"kimi -p on your Moonshot account. Kimi refuses --yolo beside a prompt, so it acts without asking only on its own screen. Neither the toolset nor --cloud applies.
Oh My Pi
hanzo upgrade omp
hanzo --omp --cloud "port this module"- On your own account:
omp -p --auto-approveon the providers you configured for it, from its own directory, and the toolset is not attached. --cloud: omp runs from an agent directory of Hanzo's own,~/.hanzo/omp. Itsmodels.ymlnames ahanzoprovider athttps://api.hanzo.ai/v1whoseapiKeyis the nameHANZO_API_KEY, where your token is, and itsmcp.jsonlists the Hanzo toolset. The run picks--model hanzo/<model>.
Letta Code
hanzo upgrade letta
LETTA_API_KEY=… hanzo --letta "plan the refactor"letta -p on your Letta account; headless runs need LETTA_API_KEY. Neither the toolset nor --cloud applies.
Kode
hanzo upgrade kode
kode # once: Kode's first run asks for a theme and a model
hanzo --kode "write the changelog entry"- Toolset:
--mcp-configwith a file for the run. - Acts without asking:
--dangerously-skip-permissions. Headless runs use-p. - Models: the provider you set up in Kode.
--clouddoes not apply.
The same for every agent
A headless task runs with the agent's own one-shot flag (-p, run, --print, -x). The output is what the agent prints. When the session is streamed to the cloud, which is the default once you are signed in, hanzo asks the agent for its own event stream and prints its replies, tool calls and results from it; an agent with no event stream is printed line by line. The session summary shows the tokens the agent reported and counts every toolset call either way.