[Bug] 72% of API requests are empty polling requests counting toward usage quota
Bug Description
Bug: 72% of API requests are empty polling that appears to count toward usage quota
SETUP:
I built a local HTTP proxy (Node.js) to intercept and log ALL requests between Claude Code and Anthropic's API to investigate why my usage is draining abnormally fast.
ENVIRONMENT:
- Windows 11, PowerShell, VS Code
- Claude Code v2.1.91 (also tested on stable v2.1.84 - same results)
- Max plan
- Model: Opus 4.6 (1M context)
- Effort: low
- All plugins and agents DISABLED for clean test
TEST: Asked Opus to implement an already-generated plan (a routine task that normally takes ~10 min and ~1% usage).
PROXY RESULTS (34-minute session):
- Total API requests to /v1/messages: 94
- Requests with actual token usage (input or output > 0): 27 (29%)
- EMPTY requests (0 input, 0 output): 68 (72%)
- Additional count_tokens requests: 7
- Total cache read: 2.18M tokens
- Total cache write: 33.5k tokens
- Total input tokens: 2.4k
- Total output tokens: 7.7k
- Thinking tokens: 0
- Usage consumed: ~7% of 5h session
COMPARISON WITH PLUGINS ENABLED (same type of task, 18 min):
- Total requests: 111
- Empty requests: 92 (83%)
- Cache read: 1.99M
- Usage consumed: 3-4% (on Sonnet)
- Tool count per request: 21 (from plugin agents)
- Message count grew from 5 to 225 in a single task
KEY FINDINGS:
- 68-92 empty polling requests per task that appear to count toward quota
- These empty requests continue even when user is idle (not typing anything)
- Last 5 requests before I stopped were ALL empty - Claude Code keeps polling after task completion
- Only 27 of 94 requests did actual work - the rest are pure overhead
- Disabling all plugins reduced requests by ~40% but empty polling persists
- Cache read accumulates to 2.18M for a simple implementation task
- Yesterday (April 2) identical workload with identical setup did NOT have this issue
- Tested on v2.1.84 (stable) - same behavior, confirming this is server-side
IMPACT:
- Tasks that used to cost ~1% now cost 7%
- Session went from 19% to 43% usage with just a few tasks
- At this rate, Max plan provides ~2 hours of work instead of 5
I have the full JSONL proxy logs with timestamps, token counts, model, messageCount, toolCount for every request. Happy to share if helpful for investigation.
Related issues: #43183, #43185, #43198, #41788
Environment Info
- Platform: win32
- Terminal: windows-terminal
- Version: 2.1.91
- Feedback ID: 0acd3619-dba5-4d17-b88b-07bb597c51ae
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗