See /concepts/model-failover for auth profile rotation, cooldowns, and how that interacts with fallbacks. Quick provider overview + examples: /concepts/model-providers.
CoderClaw selects models in this order:
agents.defaults.model.primary or agents.defaults.model).agents.defaults.model.fallbacks (in order).Related:
agents.defaults.models is the allowlist/catalog of models CoderClaw can use (plus aliases).agents.defaults.imageModel is used only when the primary model can’t accept images.agents.defaults.model via agents.list[].model plus bindings (see /concepts/multi-agent).If you don’t want to hand-edit config, run the onboarding wizard:
coderclaw onboard
It can set up model + auth for common providers, including OpenAI Code (Codex)
subscription (OAuth) and Anthropic (API key recommended; claude
setup-token also supported).
agents.defaults.model.primary and agents.defaults.model.fallbacksagents.defaults.imageModel.primary and agents.defaults.imageModel.fallbacksagents.defaults.models (allowlist + aliases + provider params)models.providers (custom providers written into models.json)Model refs are normalized to lowercase. Provider aliases like z.ai/* normalize
to zai/*.
Provider configuration examples (including OpenCode Zen) live in /gateway/configuration.
If agents.defaults.models is set, it becomes the allowlist for /model and for
session overrides. When a user selects a model that isn’t in that allowlist,
CoderClaw returns:
Model "provider/model" is not allowed. Use /model to list available models.
This happens before a normal reply is generated, so the message can feel like it “didn’t respond.” The fix is to either:
agents.defaults.models, oragents.defaults.models), or/model list.Example allowlist config:
{
agent: {
model: { primary: "anthropic/claude-sonnet-4-5" },
models: {
"anthropic/claude-sonnet-4-5": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" },
},
},
}
/model)You can switch models for the current session without restarting:
/model
/model list
/model 3
/model openai/gpt-5.2
/model status
Notes:
/model (and /model list) is a compact, numbered picker (model family + available providers)./model <#> selects from that picker./model status is the detailed view (auth candidates and, when configured, provider endpoint baseUrl + api mode)./. Use provider/model when typing /model <ref>./ (OpenRouter-style), you must include the provider prefix (example: /model openrouter/moonshotai/kimi-k2)./ in the model ID).Full command behavior/config: Slash commands.
coderclaw models list
coderclaw models status
coderclaw models set <provider/model>
coderclaw models set-image <provider/model>
coderclaw models aliases list
coderclaw models aliases add <alias> <provider/model>
coderclaw models aliases remove <alias>
coderclaw models fallbacks list
coderclaw models fallbacks add <provider/model>
coderclaw models fallbacks remove <provider/model>
coderclaw models fallbacks clear
coderclaw models image-fallbacks list
coderclaw models image-fallbacks add <provider/model>
coderclaw models image-fallbacks remove <provider/model>
coderclaw models image-fallbacks clear
coderclaw models (no subcommand) is a shortcut for models status.
models listShows configured models by default. Useful flags:
--all: full catalog--local: local providers only--provider <name>: filter by provider--plain: one model per line--json: machine‑readable outputmodels statusShows the resolved primary model, fallbacks, image model, and an auth overview
of configured providers. It also surfaces OAuth expiry status for profiles found
in the auth store (warns within 24h by default). --plain prints only the
resolved primary model.
OAuth status is always shown (and included in --json output). If a configured
provider has no credentials, models status prints a Missing auth section.
JSON includes auth.oauth (warn window + profiles) and auth.providers
(effective auth per provider).
Use --check for automation (exit 1 when missing/expired, 2 when expiring).
Preferred Anthropic auth is the Claude Code CLI setup-token (run anywhere; paste on the gateway host if needed):
claude setup-token
coderclaw models status
coderclaw models scan inspects OpenRouter’s free model catalog and can
optionally probe models for tool and image support.
Key flags:
--no-probe: skip live probes (metadata only)--min-params <b>: minimum parameter size (billions)--max-age-days <days>: skip older models--provider <name>: provider prefix filter--max-candidates <n>: fallback list size--set-default: set agents.defaults.model.primary to the first selection--set-image: set agents.defaults.imageModel.primary to the first image selectionProbing requires an OpenRouter API key (from auth profiles or
OPENROUTER_API_KEY). Without a key, use --no-probe to list candidates only.
Scan results are ranked by:
Input
/models list (filter :free)OPENROUTER_API_KEY (see /environment)--max-age-days, --min-params, --provider, --max-candidates--timeout, --concurrencyWhen run in a TTY, you can select fallbacks interactively. In non‑interactive
mode, pass --yes to accept defaults.
models.json)Custom providers in models.providers are written into models.json under the
agent directory (default ~/.coderclaw/agents/<agentId>/models.json). This file
is merged by default unless models.mode is set to replace.