Guide
OpenClaw Multi-Model
OpenClaw can run any combination of Claude, GPT, Gemini, DeepSeek, Llama, Mistral, Grok, and 100+ other models from a single agent. Here is how primary, fallbacks, and per-channel overrides work — plus the BYOK gate that affects all of them.
The Three Layers of Routing
- Primary — the model used by default for every chat
- Fallbacks — tried in order if primary fails (paid plans only)
- Per-channel override — pin a specific model to a single channel
Setting the Primary Model
{
"agents": {
"defaults": {
"model": {
"primary": "openrouter/anthropic/claude-sonnet-4.6"
}
}
}
}Model IDs use the format provider/model. OpenRouter IDs nest one level deeper: openrouter/provider/model. The gateway hot-reloads on save — no restart.
Fallbacks (Paid Only)
On Lite and Pro plans, you can list fallback models. If primary returns an error (rate limit, provider outage, model removed), OpenClaw tries the next entry:
{
"agents": {
"defaults": {
"model": {
"primary": "openrouter/anthropic/claude-sonnet-4.6",
"fallbacks": [
"openrouter/openai/gpt-5.5",
"openrouter/google/gemini-2.5-pro"
]
}
}
}
}Trial users get no fallbacks — only the primary. Upgrade to a paid plan to unlock fallback routing.
Per-Channel Overrides
Want Telegram on Claude and Discord on GPT? Override per channel:
{
"channels": {
"telegram": {
"enabled": true,
"modelOverride": { "primary": "openrouter/anthropic/claude-sonnet-4.6" }
},
"discord": {
"enabled": true,
"modelOverride": { "primary": "openrouter/openai/gpt-5.5" }
}
}
}Per-Skill Model Pinning
Some skills work better on specific models — e.g. tool-use heavy skills prefer Claude, image generation prefers Gemini. Pin a model inside the skill manifest:
// skill.json
{
"name": "web-search",
"modelPreference": "openrouter/anthropic/claude-sonnet-4.6"
}BYOK Gate Affects All Routes
If you enable BYOK for any provider, OpenClaw treats the entire agent as fully BYOK and refuses to silently fall back to a shared sub-key. Make sure every model in your fallback chain points to a provider you have BYOK'd, or chats will fail when the chain hits an un-keyed provider.
Hot-Reload Behavior
- Hot-apply:
agents.defaults.model.*,channels.*.modelOverride.*,models.* - Restart required: none for model routing — all changes hot-reload
Picking the Right Primary
- Quality default:
openrouter/anthropic/claude-sonnet-4.6— strong tool use, low hallucination - Cheap default:
openrouter/deepseek/deepseek-chatorgoogle/gemini-2.5-flash - Long context:
google/gemini-2.5-pro— 1M token window - Reasoning-heavy:
deepseek/deepseek-reasoneror Claude with thinking enabled
Verifying the Active Model
# Send a quick probe
openclaw chat send "Reply with the model ID you are running on."
# Or inspect the gateway log
openclaw logs --since 30s | grep "model="Skip the JSON Editing
OpenClaw Launch has a model picker in the dashboard: choose primary, fallbacks, per-channel overrides without touching JSON. Plans from $3/mo first month.