Models & legs
Every leg Captain can crew.
A leg is one named model behind one runtime. Captain ships sixteen worker legs and one decision leg, and takes any other hosted model without a rebuild. Legs are data: captain legs prints what is active on your machine, captain doctor says which ones are ready.
Worker legs
Sixteen shipped workers, in cold-start quality order.
Local CLI legs use the vendor subscription you already signed into. Remote legs ride a local opencode serve session against xAI, OpenAI, OpenRouter, NVIDIA NIM, Hugging Face or OpenCode Zen. Prices are the registry estimates per million tokens, in and out; subscription legs carry a quota-pressure estimate instead of a price.
| Leg | Model | Runs through | Cost | Context | What it is for |
|---|---|---|---|---|---|
/claude | Claude Opus 5.5 | claude -p, Claude Max | Subscription window | 1M | Architecture, gnarly debugging, the escalation apex. Vision. |
/codex-cli | gpt-6-astra | codex exec, ChatGPT sub | Subscription window | 1.05M | Frontier-class second opinion with a different refusal profile. Slow, so reserve it. Vision. |
/grok-max | grok-4.7 | OpenCode to xAI, SuperGrok | Subscription window | 500k | Frontier reasoning, third in the /frontier failover. Vision. |
/cursor | Composer 2.5 | cursor-agent -p, Cursor sub | Subscription window | 262k | Near-frontier agentic coding. Strong default for repo-touching work. Vision. |
/codex | GPT-6 Sol, fast mode | OpenCode to OpenAI, ChatGPT OAuth | Subscription window | 1.05M | OpenAI's quality tier: real features, refactors and debugging below the frontier. Vision. |
/kimi | Kimi K3 | OpenCode to NVIDIA NIM | No marginal cost with an NVIDIA key | 262k | Hard reasoning and code at zero marginal cost. Single host, so watch for stalls. |
/glm | GLM-5.3 | OpenCode to OpenRouter | $1.09 in · $3.43 out | 1.31M | The strongest open-weights leg in the roster and the open fallback for /frontier. |
/gemini | Gemini 3.7 Flash | OpenCode to OpenRouter | $0.38 in · $2.00 out | 1.05M | Long context and multimodal work. Also the compaction leg. Vision. |
/deepseek | DeepSeek V4 Pro | OpenCode to OpenRouter | $0.52 in · $1.60 out | 1.05M | Cheap strong coder and reasoner with a 1M window. |
/ds4-flash | DeepSeek V4 Flash | OpenCode to Hugging Face | $0.14 in · $0.28 out | 1.05M | The cheap V4 lane on the Hugging Face router; open weights for /oss. |
/minimax | MiniMax M3 | OpenCode to OpenRouter | $0.30 in · $1.20 out | 131k | Open-weights overflow lane when the subscription legs are cooling down. |
/luna | GPT-6 Luna | OpenCode to OpenAI, ChatGPT OAuth | Subscription window | 1.05M | OpenAI's cheap, fast tier: routine edits, boilerplate, summaries and extraction at volume. Vision. |
/grok | grok-build-0.1 | OpenCode to xAI, SuperGrok | Subscription window, resets daily | 262k | Fast agentic coding on the cheapest marginal quota. Vision. |
/gpt-oss | gpt-oss-120b | OpenCode to OpenRouter, served by Cerebras | $0.15 in · $0.60 out | 131k | The /deterministic pick: the one serving tuple the ADI scores byte-exact run after run. |
/step | Step 3.5 Flash | OpenCode to Hugging Face | $0.10 in · $0.30 out | 262k | Cheap open-weight reasoning on the Hugging Face router; joins /oss. |
/qwen | Qwen 3.5 397B | OpenCode to OpenRouter | $0.26 in · $1.00 out | 262k | Cheap durable capacity for routine edits and refactors. |
/free | Rotating Zen roster | OpenCode Zen | Zero cost | 131k | Simple and boilerplate work, plus the fallback classifier. Not for architecture. |
Quality priors are cold-start estimates, per domain, and your own ledger moves them as runs accumulate. A leg only runs when its credential resolves and it is inside CAPTAIN_LEGS; otherwise it waits to be named directly, such as /gpt-oss …. Models, prices and windows change: captain legs on your machine is the current truth.
Decision leg
jev decides. It never writes.
A decision leg answers typed questions, a choice among options, a score against a rubric, or a yes/no with its probability, and generates no text and runs no tool. The first one is jev, TypeSafe System One, on the system-one transport. It is a registered leg like any other, so doctor, pricing and captain legs know it, and it is nowhere a task can be dispatched: no worker rung, no entry in the terminal model picker, no /jev forcing command, no workflow stage, no escalation target.
| Where | What it is asked | What happens with the answer |
|---|---|---|
| Triage, tier 1 | The class and the domain of the turn, as two typed choices, in one request. | Acted on. When the calibrated confidence clears the bar the route is taken in a few hundred milliseconds; below it the answer is dropped and the free-leg classifier decides as before, so a missing key changes nothing but speed. |
| Shadow | How the turn should be staffed, which leg should take it, and which running worker a /btw note concerns. | Never acted on. Recorded beside the decision Captain actually made, so agreement can be measured against outcomes before any of these is handed over. |
| By hand | Anything you can type as a typed question over a state you provide. | Printed with its probabilities, latency, tokens and cost estimate. |
Ask it yourself
captain jev # probe: models, latency, tokens, cost estimate
captain jev classify "fix the typo in README" # the triage questions and the gate verdict
captain jev shadow --point leg # agreement per decision point, by confidence
captain why # one turn: what jev said, beside what Captain did
Priced per input token at $0.042 per million, with output free, so a classification costs a small fraction of a cent and answers in roughly 100 to 500 milliseconds. The shadow questions ride inside the same tier-1 request, which keeps them off the critical path. Turn it on with TYPESAFE_API_KEY; CAPTAIN_TRIAGE_JEV=0 and CAPTAIN_JEV_SHADOW=0 turn the two uses off independently.
Why this exists: the cheapest way to spend less on a task is to decide about it without a generative call. A frontier director reasoning in prose about which worker to use costs seconds and real tokens on every turn. A calibrated classifier answers the closed-set part of that question in milliseconds, and the confidence number is what makes it safe to gate on.
Verification
What "tested" means here.
Ready against a live brain
Every leg above is registered in the shipped build and was exercised against a running brain, with captain doctor reporting it ready from its own credential. Doctor reads credential keys only, never their values.
Adapter versions are pinned
Local CLI legs are contract-tested against specific vendor CLI versions, and doctor names both the installed and the tested version so a drifted toolchain is visible rather than surprising. Capability probes cover tools, usage reporting and streaming per transport.
Scored by your own runs
Priors are a starting point, not a claim. The local ledger records worker, class, domain, duration, tokens, cost and outcome, and routing follows that record. Nothing here is a benchmark result we are asking you to take on faith.
Roster reviewed 20 September 2026 against the shipped registry. Vendor model names, prices and context windows move without notice; treat the table as the shape of the roster and your own captain legs output as the current numbers.
Bring your own
Any hosted model, without a rebuild.
The registry is data: compiled defaults plus an overlay at ~/.captaincode/legs.json. Adding a model is one command, and the new leg takes part in routing, scoring and the pools exactly like a shipped one.
Register a model
captain legs add muse openrouter/meta/muse-spark-1.3 --prior 7.9
captain legs add nemo nim/nvidia/nemotron-mini --prior 6.5
captain doctor
OpenRouter fills price and context from its public catalog when you omit them. NVIDIA NIM uses the Integrate API, where nim and nvidia share the endpoint. Hugging Face router models work the same way and count as open weights, so they join the /oss pool. Restart the brain and relaunch the terminal, then force the leg with /muse … or leave the pick to Captain.
Pools
Constrain the roster for one turn.
/oss restricts the turn to open-weight models. /deterministic restricts it to a leg whose serving tuple is green in the Agentic Determinism Index right now, and pins the request to that tuple. Both compose with /repeat, /team, /frontier and a named leg, in either order. captain adi prints where every leg stands.
Full detail lives in the docs: adding a leg, configuration, determinism, and the feature overview.