coder CLI

Coder turns any model into an agent you own: tasks on this machine, from your code, or always on in Coder Cloud.

  • task: run, follow and steer coding tasks
  • flow: orchestrate many coder tasks from one TypeScript file
  • agent: define and run agents
  • credentials: engine credentials: subscriptions and API keys
  • server: self-host Coder: the server, its dashboard and sign-in
  • runner: run your server's tasks on this machine
  • auth: sign in to Coder and manage saved server sessions
  • model: manage models: built-ins, aliases, custom endpoints
  • connection: platform accounts and MCP servers tasks use

review [--base <base>] [--head <head>] [--pr <pr>] [--since <since>] [--path <path>] [--exclude <exclude>] [--post] [--run <run>] [--md] [--model <model>] [--depth <depth>] [--json] [--cwd <cwd>]

review changed code with a built-in flow

Review changed code with a read-only agent. Every reported finding is checked against the repository. Runs the built-in review flow. A local review covers everything since the merge-base with the origin default branch, including uncommitted and untracked files. Changed submodules are reviewed file by file. PR reviews can post one review with inline comments, never repeating a finding.

Related: coder flow watch, coder docs review.

  • --base <base> local comparison base (default: merge-base with origin default)
  • --head <head> review commits through this ref only (default: the working tree)
  • --pr <pr> review a pull request by number (origin repo) or URL; GitHub via gh for now
  • --since <since> keep only PR files and hunks changed since this commit
  • --path <path> review only this path, relative to cwd (repeatable)
  • --exclude <exclude> leave this path out, relative to cwd (repeatable)
  • --post post the review on the pull request, as the signed-in gh user
  • --run <run> with --post, post this finished review run instead of reviewing again
  • --md markdown output (the default)
  • --model <model> model name[/effort] or engine/model[/effort] (sol/low, claude/opus, codex/gpt-6.1-sol/high) for the review task (default: reviewModel)
  • --depth <depth> what to report: low only critical and major, high nits too (default: medium)
  • --json JSON output
  • --cwd <cwd> workspace directory; default current
coder review  # review the branch plus uncommitted work
coder review --base main  # review everything since main locally
coder review --path src --exclude src/gen  # review src without generated code
coder review --pr 42 --post  # review and post to pull request 42
coder review --depth high  # report nits too
coder review --post --run <id>  # post a finished review run

config [action] [key] [value] [--workspace] [--json] [--cwd <cwd>]

read or write config

Read or write configuration. list prints the effective config; get/set/unset target a dotted key (e.g. chain); migrate rewrites the file at this Coder's config version. Writes go to ~/.coder/config.json.

  • <action> list, get, set, unset or migrate
  • <key> a dotted key, such as chain or reviewModel
  • <value> with set: the value; JSON, or a comma list
  • --workspace target /.coder/config.json instead of the user file
  • --json JSON output
  • --cwd <cwd> workspace directory; default current
coder config list  # print the effective config
coder config set chain codex/sol,claude/opus  # the default model, then its fallbacks
coder config get reviewModel  # read one value
coder config migrate --workspace  # rewrite the repo file at config version 1

setup-host [hosts] [--json] [--cwd <cwd>]

check engines and install the host plugin or skill

Set up coder in your host: check engines and auth, seed the config, and install the host plugin/skill for the named host(s). Claude Code gets its marketplace plugin; "agents" installs a skill into ~/.agents/skills for every host that reads the Agent Skills standard dir (Codex, Pi, OpenCode, ...). Codex and Cursor also get the MCP server; the Claude plugin includes it. With no host, checks, seeds and registers available Codex and Cursor hosts.

To add the MCP server by hand: claude mcp add coder -- coder mcp, codex mcp add coder -- coder mcp, or for Cursor "coder": { "command": "coder", "args": ["mcp"] } under mcpServers in ~/.cursor/mcp.json. Restart running sessions after.

  • <hosts> claude, agents, codex, cursor (one or more)
  • --json JSON output
  • --cwd <cwd> workspace directory; default current
coder setup-host claude  # install the Claude Code plugin
coder setup-host agents  # install the shared skill and register MCP with available Codex
coder setup-host codex cursor  # install the skill and register MCP with both hosts

docs [topic] [--claude] [--json]

print bundled documentation (for agents to read)

Print bundled documentation. With no topic, list the available topics; with a topic, print that doc's raw markdown to stdout (unstyled, for an agent to consume). Topics with sub-pages list them as <topic>/<page> (also accepted as <topic>-<page>). coder docs skill prints the host skill so an engine can load it once per session (--claude for the Claude Code flavor).

  • <topic> the doc to print (default: list the topics)
  • --claude with the skill topic: print the Claude Code flavor
  • --json JSON output
coder docs  # list the available topics
coder docs flows  # print the Flows doc
coder docs review  # print the Review doc

upgrade [--cli-only] [--plugins-only] [--codex] [--claude] [--pm <pm>]

update the CLI and host plugins

Update the coder CLI through whichever package manager installed it, then refresh the host plugins to match.

  • --cli-only update just the CLI
  • --plugins-only refresh just the host plugins
  • --codex limit the refresh to the Agent Skills copy (Codex, Pi, ...)
  • --claude limit the refresh to the Claude Code plugin
  • --pm <pm> force a package manager instead of auto-detecting

mcp

serve Coder's commands as MCP tools over stdio

Serve Coder's commands as MCP tools over stdio, so a harness can run them.

Commands return their JSON payloads and next steps. Load docs with load_skill; blocking commands keep their CLI flags and behavior, subject to the client's tool timeout.

claude mcp add coder -- coder mcp  # run Coder from Claude Code