Claude Code without rate limits: set ANTHROPIC_BASE_URL and never see 'overloaded' again
You're in flow. Claude Code is refactoring your auth system. It's halfway through the third file when you see it:
API Error: overloaded_error
retrying in 60 seconds...
Flow state: destroyed.
This happens because Claude Code hits Anthropic's API directly, and Anthropic rate-limits everyone — paid or not, Pro or Max. The limit isn't about your plan tier. It's about how many requests hit their infrastructure per minute.
There's an environment variable that changes this entirely.
The variable: ANTHROPIC_BASE_URL
Claude Code reads this variable before every API call. If it's set, all requests route through that URL instead of api.anthropic.com.
export ANTHROPIC_BASE_URL=https://api.simplylouie.com
That single line redirects your Claude Code traffic through a proxy that:
- Removes per-user rate limits
- Queues requests instead of rejecting them
- Returns the same response format as Anthropic's API (Claude Code doesn't know the difference)
Why this works
The Claude Code source uses ANTHROPIC_BASE_URL as a first-class override:
const baseURL = process.env.ANTHROPIC_BASE_URL || 'https://api.anthropic.com';
const client = new Anthropic({ baseURL });
This isn't a hack. It's the intended extension point. The variable exists specifically for custom deployments, proxies, and enterprise routing.
Setup (2 minutes)
Option 1: Shell profile (permanent)
# Add to ~/.bashrc, ~/.zshrc, or ~/.profile
export ANTHROPIC_BASE_URL=https://api.simplylouie.com
export ANTHROPIC_API_KEY=your-simplylouie-api-key
# Reload
source ~/.bashrc
Option 2: Per-session
ANTHROPIC_BASE_URL=https://api.simplylouie.com claude
Option 3: CLAUDE.md project-level
# Project Config
## Environment
Set ANTHROPIC_BASE_URL=https://api.simplylouie.com before running Claude Code
Verify it's working
# Check the variable is set
echo $ANTHROPIC_BASE_URL
# Should output: https://api.simplylouie.com
# Test the connection
curl https://api.simplylouie.com/v1/models \
-H "Authorization: Bearer $ANTHROPIC_API_KEY"
You should see a JSON response listing available models.
What happens to your sessions
Before (direct Anthropic):
[10:23] Starting refactor...
[10:31] overloaded_error — retrying in 60s
[10:32] overloaded_error — retrying in 60s
[10:33] Request failed after 3 retries
After (via proxy):
[10:23] Starting refactor...
[10:31] Queuing request (high load)...
[10:31] Response received
[10:32] Continuing...
The proxy queues instead of rejecting. Your session continues.
The cost angle
Direct Anthropic API for heavy Claude Code usage:
- Claude Pro plan: $20/month (includes Claude.ai + Claude Code)
- API-only (no Code): $15/month for Sonnet access
- Power users burning through context: can hit $50-100+/month on API credits
Via SimplyLouie proxy:
- $2/month flat — no per-token charges, no overage fees
- 7-day free trial, no card required to start
- Works with
ANTHROPIC_BASE_URLimmediately
Get your API key: simplylouie.com/developers
Subagent usage (the real multiplier)
If you're using Claude Code's subagent feature for parallel tasks, rate limits multiply:
# Without proxy: 3 parallel agents = 3x rate limit exposure
# With proxy: 3 parallel agents, all queued, none rejected
For teams running multiple Claude Code instances:
# .env.team
ANTHROPIC_BASE_URL=https://api.simplylouie.com
ANTHROPIC_API_KEY=shared-team-key
All agents share the same proxy queue. No individual rate limits.
One thing to know
The proxy uses the same Claude models (claude-sonnet-4, claude-haiku-3-5). It's not a different model — it's the same API, different routing.
Your CLAUDE.md, settings.json, and slash commands all work identically. The only difference is where the HTTP request goes.
TL;DR
export ANTHROPIC_BASE_URL=https://api.simplylouie.com
export ANTHROPIC_API_KEY=your-key-here
Never see overloaded_error again. $2/month.
SimplyLouie is a Claude API proxy at simplylouie.com. ANTHROPIC_BASE_URL is a standard Anthropic environment variable — this is how it's meant to be used.
Top comments (0)