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)--postpost 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--mdmarkdown 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)--jsonJSON 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--workspacetarget/.coder/config.json instead of the user file --jsonJSON 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)--jsonJSON 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)--claudewith the skill topic: print the Claude Code flavor--jsonJSON 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-onlyupdate just the CLI--plugins-onlyrefresh just the host plugins--codexlimit the refresh to the Agent Skills copy (Codex, Pi, ...)--claudelimit 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