Provider/model-agnostic mass model switch for OpenClaw. Resolves the target
against the live config alias map and stamps a consistent {model, provider}
pair across config + every agent session store in one command.
• SKILL.md — OpenClaw skill definition
• scripts/switch.sh — the switch script
exec scripts/switch.sh <target> [--agent NAME] [--all-agents] [--crons] [--dry-run]<target> is resolved against agents.defaults.models in the live config:
• alias — any configured alias (opus, gpt, minimax, grok-4.3, kimi, …)
• provider/model — full key (anthropic/claude-opus-4-8, venice/grok-4-20)
• raw id — any provider/model not yet in the allowlist (passthrough)
Bare model names (no /, not a known alias) are rejected — the same model can
map to multiple providers, so the provider can't be guessed.
exec scripts/switch.sh opus --dry-run
exec scripts/switch.sh anthropic/claude-opus-4-8
exec scripts/switch.sh minimax --agent mainelobster~/.openclaw/openclaw.json—agents.defaults.model.primaryonly (allowlist + fallbacks left untouched)~/.openclaw/agents/*/sessions/sessions.json—model,modelOverride,modelProvider,providerOverride,modelOverrideSource; strips stale fallback fields. Model + provider are set together so they never diverge.- (opt-in
--crons) legacy~/.openclaw/cron/jobs.json—payload.model
Backups are written before modification (*.bak).