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:

  1. Self-healing loops
    The gateway’s default retryOnFailure setting tells OpenClaw to re-ask the model if a tool call errors. Each retry == one full message.
  2. 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.
  3. Cron tasks
    If you’ve scheduled daily_digest or 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_cleanup script
  • Never hit limit on weekends (bot mostly idle)

Tips to stay under 100:

  1. Disable auto-retry in agent.config.json: { "retryOnFailure": false }
  2. Cap concurrent browser actions: claw set browser.maxTabs 3
  3. Run cron tasks on weekdays only: 0 9 * * 1-5 instead of 0 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:

  1. 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.
  2. Multi-agent orchestration. Each sub-agent gets its own context window. Four of them talking in parallel quadruples your burn rate.
  3. 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:

  1. No hard daily wall. Big spike today? Fine. You just pay for it.
  2. Granular monitoring. CloudWatch or OpenTelemetry hooks let you alert at $5, $10, $20 spends.
  3. 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:

DayMessagesInput TOKOutput TOKPay-per-token $Sub equivalent
0148140k41k6.13Pro
05122380k119k17.57Max
09197602k176k28.44Max
154021.2M390k62.10
230000

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 in v0.9.14 doubled token usage; patched in 0.9.15 but 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: 0 until 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.