#Tier List of OpenClaw Models
1 messages · Page 1 of 1 (latest)
@open hinge What is the tier list of models updated to the date?
There isn’t a “kept-up-to-the-minute” official tier list I can post without it going stale immediately — models change names/weights/pricing constantly, and people’s rankings depend a lot on what they’re doing (tool-heavy agent runs vs pure chat vs coding vs vision).
What I can do is give you a rubric (and if you tell me your use case + budget, I’ll help you place models into tiers):
Practical tiering rubric (for OpenClaw)
S-tier (agent default):
- Very reliable tool-calling (JSON/schema correctness), low hallucination with tools
- Recovers well from failures (retries, partial results)
- Good long-context behavior
A-tier:
- Mostly reliable tools, but occasional schema/format slips
- Great for chat/coding, decent for automation
B-tier:
- Fine for chat, but agent/tool workflows need babysitting
- More prone to “made up tool names” / ignoring tool results
C-tier:
- Cheap/fast, good for heartbeats/simple tasks
- Not worth it for browser/file automation
Docs to anchor the discussion (and community notes that people keep updating):
- https://docs.openclaw.ai/concepts/models
- https://docs.openclaw.ai/concepts/models#model-discussions-community-notes
If you reply with:
- what you’re using OpenClaw for (Telegram assistant? browser automation? coding?)
- your priority (cheapest vs most reliable vs fastest)
…I’ll help you build a tier list that actually matches your setup, and others in here can sanity-check it.
For coding + browser automation + “assistant”, the tier list is basically dominated by tool reliability (especially strict JSON/schema + recovering when a step fails). So I’d rank models like this by behavior, not by name (names change too fast):
What “S-tier” looks like for your use case
- Browser automation: consistently calls tools with valid args, follows DOM refs correctly, doesn’t “skip” steps, can re-plan after a bad click
- Coding: can iteratively fix code based on test output / logs (not just rewrite from scratch)
- Assistant: good long-context memory within the chat, low hallucination when summarizing or extracting facts
Practical tiers (how they behave)
- S (agent default): tool calls almost never break schema; self-corrects; great for browser + multi-step coding loops
- A: mostly solid; occasional format slips; still usable with a bit more guardrailing
- B: good at chat/coding in isolation but flaky with tools (common failure: inventing tool names or ignoring tool results)
- C: cheap/fast, fine for simple assistant replies/heartbeats; not worth it for browser automation
My strong recommendation (strategy)
Use two models:
- a tool-reliable “primary” for browser automation + serious coding
- a cheaper “secondary” for simple assistant chatter / heartbeats
(We’ve seen a bunch of non-top models struggle specifically with the browser tool JSON/schema stuff, so this split saves pain and money.)
If you paste the 3–6 models you currently have available (from your OpenClaw model list / provider options) + your budget target, I’ll help you slot those exact ones into S/A/B/C for your setup, and we can sanity-check against what others are seeing.
Docs / community notes that stay freshest:
- https://docs.openclaw.ai/concepts/models
- https://docs.openclaw.ai/concepts/models#model-discussions-community-notes
And for a “living tier list”, #models tends to have the most up-to-date takes.
How I can assign specific models for heartbeats? For example I have unused kimi 2.5 account and minimax
You can override the model used only for heartbeat runs via:
agents.defaults.heartbeat.model(global default)- or
agents.list[n].heartbeat.model(per-agent)
Docs: https://docs.openclaw.ai/gateway/heartbeat
CLI way (easiest)
- Find the exact model id string to use:
openclaw models list --plain
- Set the heartbeat model:
openclaw config set agents.defaults.heartbeat.model "<provider/model-from-models-list>"
(Optional) also set cadence:
openclaw config set agents.defaults.heartbeat.every "30m"
Then restart the gateway (per docs):
openclaw gateway restart
JSON5 config example
{
agents: {
defaults: {
heartbeat: {
every: "30m",
model: "<provider/model>",
},
},
},
}
If you tell me what openclaw models list --plain shows for your Kimi + Minimax model ids, I’ll point to the exact string to paste into agents.defaults.heartbeat.model (so you don’t have to guess the provider/model name).
I have 200 usd Claude max account, kimi and minimax , show me the best way to organize it
If you’ve got Claude (Max) + Kimi + MiniMax, the clean setup is:
1) Use Claude for anything tool-heavy (browser automation + “real agent” work)
That’s where tool reliability matters most.
openclaw models list --plain
openclaw models set "<your-claude-provider/model>"
(That sets agents.defaults.model.primary.)
2) Put heartbeats on a cheaper account (MiniMax is a great fit)
Heartbeats are “background pings”, so don’t burn your Claude Max quota on them.
openclaw config set agents.defaults.heartbeat.model "<your-minimax-provider/model>"
openclaw config set agents.defaults.heartbeat.every "60m"
openclaw gateway restart
Optional (highly recommended) to avoid night spam:
openclaw config set agents.defaults.heartbeat.activeHours '{"start":"08:00","end":"23:00"}' --json
openclaw gateway restart
Docs: https://docs.openclaw.ai/gateway/heartbeat
3) Use Kimi as your “manual switch” coding model (when you want to save Claude)
Don’t make it an automatic fallback for browser automation (you don’t want the model silently changing mid-flow). Instead, switch per chat/session: