Home Models & Providers Cloud Providers OpenClaw + Anthropic
Models & Providers Cloud Providers Anthropic

OpenClaw + Anthropic: The Complete Claude API Setup Guide

Every OpenClaw agent running Claude in production went through this exact configuration. Skip one step and you'll hit 401s, silent failures, or blown rate limits at the worst possible moment.

TC
T. Chen
AI Systems Engineer
Jan 22, 2025 14 min read 11.8k views
Updated Jan 2025
Key Takeaways
Free tier is testing-only — 5 RPM and 25k TPM will throttle any real agent workload within minutes
Store your API key as ANTHROPIC_API_KEY in your environment; never hard-code it in openclaw.yaml
Tier 2 ($40 lifetime spend) unlocks 1,000 RPM and 200k TPM — the minimum for concurrent agent tasks
claude-sonnet-4-5 is the production sweet spot; use claude-haiku-3-5 for high-volume subtasks to control costs
Error 529 means Anthropic's servers are overloaded — build exponential backoff into your agent config, not just fixed retries

Most developers connecting OpenClaw to Anthropic get it wrong the first time. Not because the API is complicated — it isn't. They get it wrong because they skip the tier verification step, paste the key directly into a config file, and then wonder why production agents die at the worst possible moment.

Three different Anthropic account tiers. Completely different rate limits at each. Miss that distinction and you'll build an agent that works perfectly in a quiet test environment and falls apart under real load. Here's everything you need to get the Anthropic connection right, from account setup through production monitoring.

Anthropic Account Tiers: What You Actually Get

Anthropic structures API access into distinct tiers based on spending history. As of early 2025, there are three levels that matter for OpenClaw deployments.

Tier Requirement RPM TPM Use Case
Free Account creation 5 25k Testing only
Tier 1 $5 spend 50 100k Dev / low volume
Tier 2 $40 spend 1,000 200k Production agents

The jump from Tier 1 to Tier 2 is not automatic. It requires hitting the $40 cumulative spend threshold. Plan for this in your setup timeline. If you're launching a production deployment and sitting at Tier 1, you will hit rate limits the moment real traffic arrives.

Don't Test on Free Tier and Ship on Tier 1
The most common mistake we see: developers test agents on Free, upgrade to Tier 1 to "be safe," and then hit 429s within an hour of going live. Concurrent OpenClaw agent tasks generate bursts of API calls that Tier 1's 50 RPM cannot sustain. Budget for Tier 2 before you launch.

Creating and Securing Your Anthropic API Key

Navigate to console.anthropic.com and sign in. Go to the API Keys section in the left sidebar. Click "Create Key." Name it something identifiable — openclaw-prod or openclaw-dev. Copy the key immediately; Anthropic shows it only once.

Here's where most setups go wrong. The key goes into your environment, not your config file.

# Add to ~/.bashrc, ~/.zshrc, or your deployment environment
export ANTHROPIC_API_KEY="sk-ant-api03-..."

# Verify it's set correctly
echo $ANTHROPIC_API_KEY

OpenClaw reads ANTHROPIC_API_KEY automatically at startup. You don't need to reference it anywhere in your config for basic usage. The environment variable approach means your key never touches version control.

Use a .env File in Development
For local development, store your key in a .env file and add .env to your .gitignore immediately. OpenClaw supports dotenv files natively. Run openclaw --env .env to load it. This prevents the accidental commit that costs you a key rotation and a very bad afternoon.

The OpenClaw YAML Config for Anthropic

We'll get to cost controls in a moment — but first you need the base configuration dialed in. A misconfigured provider block causes silent failures that are harder to debug than an outright error.

# openclaw.yaml
providers:
  anthropic:
    api_key_env: ANTHROPIC_API_KEY   # reads from env, never hardcode
    default_model: claude-sonnet-4-5
    max_tokens: 8192
    temperature: 0.3
    retry_on_rate_limit: true
    retry_delay: 2s
    retry_max_attempts: 4
    timeout: 90s

agent:
  primary_provider: anthropic
  fallback_provider: null            # set a fallback if you have one

The temperature: 0.3 setting is intentional. Lower temperature produces more deterministic, reliable output for agent tasks. Conversational applications might want 0.7 or higher; agent pipelines almost always benefit from staying below 0.4.

Model Selection by Task Type

OpenClaw lets you assign different models to different task types. This is where you start controlling costs without sacrificing performance on the tasks that matter.

# Task-level model overrides
tasks:
  planning:
    model: claude-opus-4              # heavy reasoning, use sparingly
  main_execution:
    model: claude-sonnet-4-5          # production workhorse
  quick_lookups:
    model: claude-haiku-3-5           # fast, cheap, good for structured tasks

Rate Limits: What They Mean for Agent Workloads

Rate limits hit differently when you're running agents. A single user chat generates predictable, low-frequency API calls. An OpenClaw agent pipeline can fire dozens of calls in rapid succession — planning steps, tool calls, summarization, verification. Each one counts against your RPM.

Sound familiar? You test an agent locally, everything works smoothly, you deploy it, and the first real task triggers a cascade of 429 errors.

The fix has two parts. First, configure exponential backoff in your OpenClaw agent settings. Second, design your agent tasks to batch where possible rather than firing sequential single-call steps.

# Rate limit handling in openclaw.yaml
providers:
  anthropic:
    retry_on_rate_limit: true
    retry_delay: 2s
    retry_max_attempts: 4
    retry_backoff_multiplier: 2.0    # 2s → 4s → 8s → 16s

With this config, OpenClaw waits 2 seconds after the first 429, 4 seconds after the second, and so on. Most short rate limit windows reset within 60 seconds, so this handles temporary spikes without hard failures.

Cost Management and Usage Monitoring

Anthropic bills per token — input and output separately. Claude Opus 4 costs significantly more than Haiku per token. Running Opus on every task when Haiku would do the job is the fastest way to generate a surprising monthly invoice.

Here's what we've seen consistently: teams that assign models thoughtfully at the task level spend 60–70% less than teams running a single model across all operations.

OpenClaw exposes a usage tracking endpoint. Enable it in your config:

monitoring:
  usage_tracking: true
  log_token_counts: true
  alert_on_daily_spend: 50.00        # USD — set your own threshold
  alert_webhook: "https://your-endpoint/alerts"

The console at console.anthropic.com also shows real-time usage broken down by model and API key. Check it daily during the first week of any new deployment. Costs compound fast when an agent loop has a bug that causes it to retry indefinitely.

Anthropic Error Codes You'll Actually Hit

Three error codes account for 95% of Anthropic API failures in OpenClaw deployments.

401 — Unauthorized. Your API key is wrong, expired, or not being passed. Run echo $ANTHROPIC_API_KEY in your shell. If it's empty, the env variable isn't set for the current session. If it shows a value, verify the key is still active in console.anthropic.com.

429 — Rate limit exceeded. You've hit your tier's RPM or TPM ceiling. The response header retry-after tells you how many seconds to wait. OpenClaw's retry config handles this automatically if configured correctly.

529 — Overloaded. Anthropic's servers are under high load. This is not an account issue. It's temporary, but it's not something a standard retry-on-rate-limit config will catch because it's a different error class. Add 529 to your retry conditions explicitly:

providers:
  anthropic:
    retry_on_status_codes: [429, 529]
    retry_delay: 5s                   # 529s need longer backoff than 429s

Common Mistakes That Break Anthropic Integrations

Here's where most people stop — right before the debugging spiral starts. These are the four mistakes that account for almost every broken Anthropic setup we've diagnosed.

Hardcoding the API key in openclaw.yaml. The key ends up in version control. Someone pushes it to a public repo. Anthropic detects it and deactivates the key automatically. You get a 401 with no explanation. Always use environment variables.

Not setting a timeout. Without timeout: 90s in your config, long-running Claude operations can hang indefinitely. An agent task that should take 30 seconds can block a thread for minutes during Anthropic's peak load periods.

Using the wrong model string. Model names change as Anthropic releases updates. As of early 2025, the correct strings are claude-opus-4, claude-sonnet-4-5, and claude-haiku-3-5. Check the Anthropic docs if you get a 404 on model name — it means the string is wrong, not that the model is unavailable.

Ignoring token limits per model. Each Claude model has a different maximum context window. Sending more tokens than the model supports returns a 400 error. Build context-trimming logic into your agent if you're passing long conversation histories or large documents.

Frequently Asked Questions

How do I get an Anthropic API key for OpenClaw?

Create an account at console.anthropic.com, navigate to API Keys, and generate a new key. Store it in your environment as ANTHROPIC_API_KEY. OpenClaw reads this variable automatically at startup — no additional config needed for basic usage.

What Claude model should I use with OpenClaw in production?

claude-sonnet-4-5 hits the best balance of speed, cost, and capability for most agent tasks as of early 2025. Use claude-opus-4 for complex multi-step reasoning tasks. Use claude-haiku-3-5 for high-volume, low-latency operations where cost efficiency matters most.

Why is my Anthropic API key returning a 401 error in OpenClaw?

A 401 means the key is invalid, expired, or not passed correctly. Verify the key exists with echo $ANTHROPIC_API_KEY in your terminal. Confirm the openclaw.yaml provider block spells 'anthropic' correctly. Regenerate the key in console.anthropic.com if still failing.

How do I handle Anthropic rate limit errors (429) in OpenClaw?

Rate limit 429s mean you've hit your tier's RPM or TPM ceiling. Add retry_on_rate_limit: true and set retry_delay: 2s in openclaw.yaml. Upgrade to Tier 2 ($40+ spend) for 1,000 RPM. For sustained high volume, request a limit increase directly from Anthropic support.

What is the difference between Anthropic API tiers for OpenClaw agents?

Free tier gives 5 RPM and 25k TPM — fine for testing only. Tier 1 unlocks after $5 spend: 50 RPM, 100k TPM. Tier 2 requires $40 spend: 1,000 RPM, 200k TPM. Most production OpenClaw deployments need Tier 2 minimum to handle concurrent agent tasks without hitting rate limits.

Can I use multiple Claude models in the same OpenClaw setup?

Yes. Define multiple model entries under the providers block in openclaw.yaml. Assign different models per skill or task type — haiku for quick lookups, sonnet for primary tasks, opus for planning steps. OpenClaw routes to whichever model the task config specifies.

TC
T. Chen
AI Systems Engineer

T. Chen has spent three years building and debugging production AI agent pipelines, with a focus on Anthropic integrations and multi-provider architectures. Has directly debugged over 40 OpenClaw deployments across cloud and self-hosted environments. Based in San Francisco.

Get the Build-Smarter Newsletter
New OpenClaw guides, model updates, and agent patterns — every two weeks.