Problem
Currently, switching between models requires either:
- CLI commands (
openclaw models set)
- The
/model slash command
- Editing config
There's no way to say "use local for this" or "switch to the cheap model" in natural conversation and have the agent actually switch.
Use Case
Users with both a paid API model (e.g., Claude Opus) and a local model (e.g., Ollama) want to:
- Use the expensive model for complex tasks
- Switch to local/cheap model for simple queries to save money
- Do this fluidly in conversation without leaving the chat
Proposed Solution
Allow the agent to recognize model-switching intents and either:
- Self-invoke a model switch (if given that capability)
- Expose a tool the agent can call to switch models mid-session
- Honor inline directives like
[model:ollama/gpt-oss:20b] in user messages
Ideally this would be per-message or per-turn granularity, not just session-wide.
Current Workaround
The session_status tool has an optional model parameter for per-session override, but:
- The agent can't invoke it based on user intent ("use local for this")
- It's session-wide, not per-message
- Fallbacks only trigger on failure, not user choice
Environment
- OpenClaw 2026.1.30
- Primary: anthropic/claude-opus-4-5
- Local: ollama/gpt-oss:20b
Problem
Currently, switching between models requires either:
openclaw models set)/modelslash commandThere's no way to say "use local for this" or "switch to the cheap model" in natural conversation and have the agent actually switch.
Use Case
Users with both a paid API model (e.g., Claude Opus) and a local model (e.g., Ollama) want to:
Proposed Solution
Allow the agent to recognize model-switching intents and either:
[model:ollama/gpt-oss:20b]in user messagesIdeally this would be per-message or per-turn granularity, not just session-wide.
Current Workaround
The
session_statustool has an optionalmodelparameter for per-session override, but:Environment