[BUG] Bug: Rate limit errors on Pro Plan at 26% usage — rate limit stuck per-session, contradicts documentation
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
I am a paying Pro Plan subscriber being blocked with "API Error: Rate limit reached" while my usage dashboard shows only 26% daily usage (monthly is even lower).
Critical finding: while the session was blocked, I opened a NEW Claude Code session on the same machine, same VSCode instance, same Pro account — and it worked perfectly. This proves the rate limit is stuck per-session, not per-account, which directly contradicts Anthropic's own documentation stating limits are applied "at the organization level."
Root cause from session logs: Claude Code launched a burst of ~10 parallel tool calls (glob + read operations) in 30 seconds. 11 seconds after the last successful response, the rate limit triggered. The agent's own parallel execution strategy caused the rate limit — not the user.
Additionally, the VSCode extension UI displayed a "stopped responding" message during parallel agent operations, prompting the user to cancel running tasks. This misleading UI message compounds the problem.
What Should Happen?
- A user at 26% daily quota should NOT be blocked by rate limits
- If a short-window throttle (RPM) is hit, the error message should say WHICH limit was reached and WHEN it resets — not a generic "Rate limit reached"
- Rate limits should apply at account level, not get stuck on a single session
- Claude Code should manage its own parallel tool calls to avoid triggering RPM limits
- The VSCode UI should not display "stopped responding" when parallel operations are still running
Error Messages/Logs
{
"type": "assistant",
"timestamp": "2026-03-31T16:19:39.213Z",
"message": {
"model": "<synthetic>",
"content": [{"type": "text", "text": "API Error: Rate limit reached"}],
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
},
"error": "rate_limit",
"isApiErrorMessage": true,
"version": "2.1.84"
}
Note: input_tokens: 0 — the request was rejected before processing any tokens.
Steps to Reproduce
- Subscribe to Pro Plan
- Use Claude Code via VSCode extension for a multi-day session (mine ran 7 days)
- Ask Claude to perform parallel file operations (e.g., reading multiple PDFs or globbing large directories)
- Claude launches a burst of ~10 parallel tool calls in ~30 seconds
- Rate limit triggers 11 seconds after the last successful response
- ALL subsequent messages return "API Error: Rate limit reached"
- Dashboard shows ~26% daily usage
- Open a NEW Claude Code session on the same machine, same account — it works immediately (proving the limit is per-session, not per-account)
Session ID: 63b58d02-fd89-44cb-a42b-f88c120f2e38
Token consumption: ~4.4M total (1,870 input, 13,960 output, 371,320 cache creation, 4,010,843 cache read)
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.84
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
Session token analysis:
| Metric | Value |
|---------------------|-------------|
| Input tokens | 1,870 |
| Output tokens | 13,960 |
| Cache creation | 371,320 |
| Cache read | 4,010,843 |
| Total | ~4.4M |
| Successful messages | 89 |
| Rate limit errors | 5 |
Timeline:
| Event | Timestamp (UTC) |
|--------------------------|-------------------------|
| Session start | 2026-03-24 17:04 |
| First rate limit error | 2026-03-24 18:50 |
| Last successful response | 2026-03-31 16:12 |
| Final block (4 errors) | 2026-03-31 16:12—16:19 |
The full analysis is documented in the session JSONL file. I can provide it if needed.
This is a contractual concern: I paid for Pro Plan capacity and I am being blocked at 26% of that capacity. The rate limiter contradicts Anthropic's own documentation. I expect transparency, accurate error messages, and a fix.
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗