Claude Code Rate Limits Explained: How to Avoid Getting Throttled
Why Does Claude Code Keep Saying "Rate Limited"?
You are in the middle of a complex refactor. Claude Code is reading files, writing code, running tests. Then suddenly: "Rate limit exceeded. Please wait before making another request." Or worse, a cryptic 429 Too Many Requests error.
This is one of the most frustrating experiences in AI-assisted development. Let us break down why it happens and how to fix it.
Understanding Claude Code Rate Limits
Claude Code hits rate limits at multiple levels, and they stack:
1. API Rate Limits (Anthropic Direct)
Anthropic enforces rate limits per API key based on your tier:
| Tier | Requests/min | Tokens/min (Input) | Tokens/day |
|---|---|---|---|
| Free | 5 | 20,000 | 300,000 |
| Build (Tier 1) | 50 | 40,000 | 1,000,000 |
| Build (Tier 2) | 1,000 | 80,000 | 2,500,000 |
| Scale (Tier 3) | 2,000 | 160,000 | 5,000,000 |
| Scale (Tier 4) | 4,000 | 400,000 | Unlimited |
Most individual developers are on Tier 1 or 2. A heavy Claude Code session can easily generate 50-100 requests per hour with large context windows, hitting the tokens/minute limit regularly.
2. Pro/Max Plan Limits
Even the $200/month Max plan has usage caps. Anthropic uses a "capacity unit" system that is deliberately opaque. What developers report:
- Pro ($20/month): Approximately 45-60 minutes of heavy agentic use per day
- Max ($100/month): Approximately 3-4 hours of heavy use per day
- Max ($200/month): Approximately 6-8 hours of heavy use per day
When you exceed these soft limits, responses slow dramatically or you get temporarily blocked.
3. Server-Side Capacity Limits
During peak hours (9 AM - 6 PM US time zones), Anthropic throttles lower-tier users to prioritize capacity for higher-paying customers. You may experience rate limits even when you have not hit your personal quota.
The 429 Error: What It Means
When you see a 429 error in Claude Code, it means one of:
x-ratelimit-limit-requests: You have sent too many requests in the time windowx-ratelimit-limit-tokens: You have used too many tokens in the time windowretry-after: The header tells you how many seconds to wait
Claude Code has built-in retry logic, but during sustained heavy use, retries stack up and your session grinds to a halt.
How to Diagnose Rate Limit Issues
Check the response headers (visible in Claude Code with --verbose flag):
claude --verbose
Look for these headers in the output:
x-ratelimit-limit-requests: 50
x-ratelimit-remaining-requests: 0
x-ratelimit-reset-requests: 2026-04-08T10:30:00Z
If remaining is 0, you have hit the wall.
Solutions: How to Stop Getting Throttled
Solution 1: Use a Provider with Higher Limits (Best Fix)
The most effective solution is to use an API provider that does not impose Anthropic's restrictive rate limits. LLM API provides:
- No per-minute request limits for standard usage
- No daily token caps
- No peak-hour throttling
- Automatic load balancing across multiple backend providers
export ANTHROPIC_BASE_URL=https://llmapi.pro
export ANTHROPIC_API_KEY=your-key
claude
Since LLM API distributes requests across multiple backend providers and models, the rate limit bottleneck disappears entirely. This is the single most impactful change you can make.
Solution 2: Optimize Token Usage
Reduce the volume of tokens per request:
- Use /compact regularly — this compresses your conversation context, meaning each request sends fewer tokens
- Start fresh sessions for new tasks instead of continuing long conversations
- Use .claudeignore to prevent Claude Code from reading large files:
# .claudeignore
node_modules/
dist/
build/
*.lock
*.min.js
Solution 3: Reduce Request Frequency
- Be specific in prompts — vague instructions cause multiple tool call rounds
- Batch related changes — ask for multiple fixes in one prompt rather than one at a time
- Avoid unnecessary file reads — tell Claude Code which files to look at instead of letting it search
Solution 4: Upgrade Your Anthropic Tier
If you want to stick with Anthropic direct:
- Spend more to unlock higher tiers (Tier 2 requires $40+ in billing history)
- Contact Anthropic sales for custom rate limits (enterprise only)
- Use the $200/month Max plan for the highest consumer-tier limits
Solution 5: Implement Request Spacing
For API users, add deliberate spacing between rapid-fire requests:
# Set a small delay between Claude Code tool calls
export CLAUDE_CODE_REQUEST_DELAY_MS=500
This slows your session slightly but prevents burst-related 429 errors.
The Real Fix: Remove the Bottleneck
Rate limits exist because Anthropic's GPU capacity is finite and expensive. When you use a compatible provider like LLM API, you bypass this bottleneck entirely:
- Requests route to providers with available capacity
- No artificial per-user throttling
- Multiple backend models share the load
- Cost is materially lower, so you do not need to ration usage
Stop fighting rate limits. Remove them. Two environment variables and the problem disappears.
Visit llmapi.pro to get started — free tier available, no credit card required.