Every model in OpenClaw is identified by a model ref string in the format provider/model-name. Let me show you some examples:
anthropic/claude-sonnet-4-5-20250929openai/gpt-4oollama/llama3.3openrouter/deepseek/deepseek-r1
You set this in ~/.openclaw/model.json:
{
"modelRef": "anthropic/claude-sonnet-4-5-20250929"
}
The provider prefix tells OpenClaw which API endpoint and authentication method to use. The model name after the slash is passed directly to that provider's API. If you switch providers, you only change this one string. That's it.