If you run OpenClaw against Anthropic’s hosted models you have two consumer-tier options: Claude Pro (100 messages) and Claude Max (200 messages). This post is the straight-shooting breakdown I wish I had before hitting “upgrade”. We’ll look at how OpenClaw spends those credits, why Max can disappear in a single afternoon of autonomous loops, and when you should skip both subscriptions and just feed OpenClaw your own pay-per-token key.
OpenClaw Anthropic Pro vs Max: the quick numbers
As of 2024-06-10 these are the public prices:
- Claude Pro – USD $20 / mo – 100 messages per day
- Claude Max – USD $30 / mo – 200 messages per day
Anthropic counts a message as a full request/response cycle, up to 32k tokens. Multi-turn threads (OpenClaw writes, model responds, repeat) consume one message on every model call. There’s no rollover.
On the OpenClaw side nothing changes in your gateway.yaml except the environment variable:
ANTHROPIC_API_KEY="sk-long-string-from-claude.ai"
Both subscriptions hit the same endpoint https://api.anthropic.com/v1/messages so OpenClaw doesn’t know or care which plan you’re on. The difference is purely how quickly Anthropic will start returning 429: usage_limit_exceeded.
How OpenClaw burns through message credits
Vanilla chat bots rarely exceed 20 messages/day. Autonomous agents are a different animal. Here are the three pathways that gulp credits:
- Self-healing loops
The gateway’s defaultretryOnFailuresetting tells OpenClaw to re-ask the model if a tool call errors. Each retry == one full message. - Search + browser chains
A single user prompt like “summarize this PDF, mail me the highlights, then tweet it” spawns five or six actions: RAG search, browser.load, summary generation, email compose, social push. Every action with a transform step calls the LLM. - Cron tasks
If you’ve scheduleddaily_digestor a stock scraper, expect 30–40 model calls/day even with zero user interaction.
In practice:
- One interactive session with heavy autonomy → 15-25 messages
- Running a research loop overnight → 70-120 messages
- Weekend hacking on a new tool chain, lots of retries → up to 250 messages
The upshot: Max can vanish in a few hours if you forget to gate loops. Pro will vanish by lunch.
Is Claude Pro (100 messages) enough for casual OpenClaw use?
For pure chat with the occasional tool call, yes. I ran a Slack bot for my small team (8 engineers, Node 22.10) on Pro for three weeks:
- Average 60 messages/day during weekdays
- Pinned at 85–90 when we ran the
jira_cleanupscript - Never hit limit on weekends (bot mostly idle)
Tips to stay under 100:
- Disable auto-retry in
agent.config.json:{ "retryOnFailure": false } - Cap concurrent browser actions:
claw set browser.maxTabs 3 - Run cron tasks on weekdays only:
0 9 * * 1-5instead of0 9 * * *
If you’re tinkering after work and want a reliable assistant, Pro is fine. The moment you hand OpenClaw a recursive research task—“map every VC-funded climate startup and build a Notion DB”—expect to smash the wall.
When Claude Max (200 messages) becomes necessary
I flipped to Max during a two-week build-out of an automated red-team agent for a client. Here’s what pushed me:
- High-frequency loops. The agent ran every discovered URL through
browser.get→ analyse → scan. 10 URLs/minute × 3 chain steps = 30 messages/minute. Pro would die in 3 minutes. - Multi-agent orchestration. Each sub-agent gets its own context window. Four of them talking in parallel quadruples your burn rate.
- Large context summaries. We fed 24k-token documents to Claude 3 Opus. Anthropic still counts it as one message, but we needed multiple passes to chunk and summarise. That’s three messages per doc.
With Max we peaked at 186 messages on day 5 and 197 on day 9. Both times the daemon crashed at midnight UTC when Anthropic reset the quota—no permanent damage but annoying. Max is breathing room, not infinity.
Running on direct API keys: pay-per-token math
Anthropic’s self-serve developer keys bypass the message caps entirely. You pay for what you use:
- Claude 3 Opus (32k): $0.015 /1k input, $0.075 /1k output
- Claude 3 Sonnet (200k): $0.003 /1k input, $0.015 /1k output
Quick back-of-napkin: If your average OpenClaw call sends 3k tokens in and gets 1k out on Opus, that’s $0.045 + $0.075->$0.12 per message. Multiply:
- 100 messages (Pro tier) ≈ $12
- 200 messages (Max tier) ≈ $24
You’re roughly cost-parity with subscriptions, but:
- No hard daily wall. Big spike today? Fine. You just pay for it.
- Granular monitoring. CloudWatch or OpenTelemetry hooks let you alert at $5, $10, $20 spends.
- Model freedom. Switch to Sonnet for cheap RAG or Haiku for tool planning (
0.25¢ /1k).
Setup is one line in gateway.yaml:
provider: anthropic
anthropic:
key: "sk-ant-…"
model: "claude-3-sonnet-20240229"
Downside: You must babysit billing, and Anthropic will throttle if you blast >50 req/s without approval.
Cost calculator: real numbers from my Grafana
I piped daemon.stats into InfluxDB for 30 days. Here’s the raw:
| Day | Messages | Input TOK | Output TOK | Pay-per-token $ | Sub equivalent |
|---|---|---|---|---|---|
| 01 | 48 | 140k | 41k | 6.13 | Pro |
| 05 | 122 | 380k | 119k | 17.57 | Max |
| 09 | 197 | 602k | 176k | 28.44 | Max |
| 15 | 402 | 1.2M | 390k | 62.10 | — |
| 23 | 0 | 0 | 0 | 0 | — |
Average daily spend was $18.33. Some days cheaper than Pro, some double Max. The spike on day 15 was a deliberate brute-force crawl.
Community reports and edge cases
Skimming GitHub issues (#1821, #1837) and the Discord #anthropic channel:
- Memory spills. An
agent.memory()bug inv0.9.14doubled token usage; patched in0.9.15but many users still running old docker tag. - “Ghost charges”. Some see messages consumed even when Anthropic returns tool call JSON. Repro steps posted; Anthropic says expected.
- Proxy funnel. Users behind corporate proxies sometimes see duplicated requests on retries, effectively halving message quota. Use
maxRetries: 0until patch lands.
If you’re debugging phantom burns, set DEBUG=openclaw:anthropic* and tail daemon.log. You’ll see every request id and quota header.
So, which one should you pay for?
Use this rule of thumb:
- <80 messages/day → Stick with Pro. Cheaper than per-token, no billing surprises.
- 80-160 messages/day → Jump to Max for headroom. Still simpler than watching a meter.
- >160 messages/day or bursty workload → Bring your own API key. Set budget alerts at $30 and sleep.
And if you’re about to run a recursive research loop that fetches every SEC filing since 1993, none of these consumer subscriptions will save you. Spin up pay-per-token, set model: sonnet, and cache aggressively.
Happy building. Ping me on GitHub (@stoiver) if you find other quota-eaters.