Get started

Set up an agent

Kumo installs no CLI. Here is every agent it drives and how to get one.

Kumo does not bundle an agent, install one for you, or sign you in. There is no OAuth flow in the app and no box to paste an API key into. Every agent below is a command-line tool you install and sign in to yourself, exactly as you would without Kumo. Your models, MCP servers, hooks and rules stay in that tool's own configuration.

No agent is the house favourite. Whichever ones are installed show up in the New Agent menu, in the order you set. They all work the same way inside Kumo.

Every agent, alphabetically

Commands are the vendor's own and were correct on 7 September 2026. If one has moved, the linked page is the authority.

Agent Install Sign in
Claude npm i -g @anthropic-ai/claude-code Run claude once and sign in through the browser.
Cline npm i -g cline Run cline once and pick a provider.
Codex npm i -g @openai/codex codex login
Copilot npm i -g @github/copilot Run copilot once and sign in with GitHub.
Cursor curl https://cursor.com/install -fsS | bash cursor-agent login
DeepSeek Harness npm i -g @deepseek-ai/dsh Bring your own DeepSeek API key — see its docs.
Gemini npm i -g @google/gemini-cli Run gemini once and sign in with Google.
Goose curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash goose configure
Grok curl -fsSL https://x.ai/cli/install.sh | bash grok login
Hermes curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes login
Kilo Code npm i -g @kilocode/cli Run kilo once and pick a provider.
Kimi Code curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash kimi login
OpenCode npm i -g opencode-ai opencode providers login
Pi npm i -g @earendil-works/pi-coding-agent Bring your own provider key in the environment — see its docs.
Qwen Code npm i -g @qwen-code/qwen-code Run qwen once and sign in.

Claude and Codex need one extra thing, which Kumo already did

Those two do not speak the Agent Client Protocol themselves, so Kumo ships their official ACP adapters inside the app and runs them with node. You still install claude and codex yourself; the adapter drives the copy you installed.

Check it worked

Open Settings (⌘,) → Agents. Every agent is listed with its version if Kumo can run it, or greyed out with an INSTALL link if it cannot. For the agents that publish a quota (Claude, Codex, Cursor, Grok, Kimi), the same row shows how much of it is used.

If an agent is installed but Kumo cannot start it, the tab shows one error naming the agent and where to get it, with a Retry. If it starts but rejects you, that is a sign-in problem: run its CLI in a terminal, sign in there, and retry. Kumo never holds credentials.

Order and the default agent

In Settings → Agents, untick the agents you never use to hide them, and drag the rest by their handle into the order you want. The + menu lists them in that order, and the first one is the default, marked DEFAULT. To change the default, drag another one to the top.

The default is also what an agent gets when it starts another agent with kumo spawn and names no backend. See Agents working together.

Anything else that speaks ACP

Settings → Agents → CUSTOM AGENTS takes a name, one command line, and optional environment variables. Anything that speaks the Agent Client Protocol over stdio works, in the same shape as Zed's agent_servers. A custom agent sits alongside the built-in ones: it can be hidden, reordered, made the default, and picked per conversation. Kumo only checks that the executable exists; it never runs the command to probe it.

Custom agents start without the extras Kumo knows for the built-in ones: no session list to resume from and no quota. Every permission request still comes to you.

GitHub

Starting Workspaces from issues and pull requests, and everything on the Tasks page that comes from GitHub, needs the gh CLI. Settings → Integrations shows whether it is installed and signed in, and its button types brew install gh or gh auth login --web into the sidebar terminal for you. Kumo stores no GitHub token of its own. It wraps gh, and the credentials stay in gh's keychain entry.