Skip to content

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.

AdapterToolInstalled by the runner installerNeeds
claude-code-cliAnthropic’s Claude CodeYesAn Anthropic credential
openai-codex-cliOpenAI’s CodexNoThe codex binary on PATH, and an OpenAI credential
gemini-cliGoogle’s Gemini CLINoThe gemini binary on PATH, and a Google credential
commandchain-agent-cliThe built-in agentNoThe 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.

Terminal window
npm install -g @openai/codex # then: codex --version
npm install -g @google/gemini-cli # then: gemini --version

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-cli takes 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.

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.

The Coding Agents settings page, with a Claude Code credential connected and Codex and Gemini not connected.

See agent credentials for how to capture, list, and revoke them.