Coding agents
A runner does not write code itself. It drives a coding agent: an existing command-line tool that reads a task, edits files, runs commands, and reports what it did. The runner supplies the workspace, the boundary, the credential, and the task; the coding agent does the work inside all four.
Which tool a runner can drive is called its adapters. A runner detects them when it starts, lists them during pairing, and shows them in the fleet.
The four adapters
Section titled “The four adapters”| Adapter | Tool | Installed by the runner installer | Needs |
|---|---|---|---|
claude-code-cli | Anthropic’s Claude Code | Yes | An Anthropic credential |
openai-codex-cli | OpenAI’s Codex | No | The codex binary on PATH, and an OpenAI credential |
gemini-cli | Google’s Gemini CLI | No | The gemini binary on PATH, and a Google credential |
commandchain-agent-cli | The built-in agent | No | The commandchain-agent binary on PATH |
Claude Code is the one the installer sets up for you, using its own native build, so a fresh install has a working coding agent with no extra steps and no Node.
The others are opt-in: install the tool yourself, and the runner picks it up the next time it starts.
npm install -g @openai/codex # then: codex --versionnpm install -g @google/gemini-cli # then: gemini --versionHow a run picks one
Section titled “How a run picks one”The control plane chooses the adapter when it dispatches a run, and the runner uses the one it was told to use. A runner that does not have that adapter does not silently substitute another.
In practice that means:
- A runner with only
claude-code-clitakes coding runs targeted at Claude Code. This is the default after a fresh install. - A runner with several adapters can take any of them, and which one a given run uses is decided by your workspace’s model and routing policy rather than by the machine.
- A run dispatched for an adapter nobody has waits rather than running with the wrong tool. See troubleshooting.
Every adapter runs inside the same boundary
Section titled “Every adapter runs inside the same boundary”The sandbox is applied by the runner, uniformly, and does not depend on which tool is executing. All four are started through the same launcher, get the same synthetic home, and get the same environment allowlist. Each receives its own provider credential and no other one’s.
That is why adding a coding agent to a machine does not widen what an agent can reach: the tool changes, the boundary does not.
Credentials per tool
Section titled “Credentials per tool”Each adapter authenticates with its own provider, and the credential comes from your account rather than from the machine. You capture it once with the runner CLI, and the platform releases it to one attempt at a time.

See agent credentials for how to capture, list, and revoke them.
Next steps
Section titled “Next steps”- Agent credentials: connect a tool to your account.
- Knowledge in runs: what a coding agent can look up mid-run.
- Workspaces and git: the checkout the agent works in.