[Bug] Claude Code incorrectly routes requests to Extra Usage despite plan allocation remaining

Resolved 💬 3 comments Opened Apr 8, 2026 by ogaken0612 Closed May 22, 2026

Bug Description
Bug: Extra Usage charged despite plan limits not reached (Max 20x)

Plan: Max 20x ($200/month)
Claude Code version: latest (updated today)
OS: macOS

Issue:
Claude Code returns the error "You're out of extra usage. Add more at claude.ai/settings/usage and keep going" even though my plan usage is well below the limit.

Dashboard at the time of error:

  • Current session: 3% used
  • Weekly limit (All models): 78% used
  • Weekly limit (Sonnet only): 18% used

I tried switching the model from Opus to Sonnet via /model — same error.
I updated Claude Code to the latest version — same error.

When I enabled the Extra Usage toggle in Settings > Usage, credits were immediately consumed ($194.51 → $194.00) despite having plenty of plan usage remaining. This confirms Claude Code is bypassing the Max plan allocation and routing requests through Extra Usage billing incorrectly.

This appears to be the same usage tracking mismatch reported in GitHub Issues #24727 and #38335.

Requested actions:

  1. Investigate whye Code is not recognizing my Max 20x plan allocation
  2. Refund the Extra Usage credits consumed during this bug ($5.99 charged so far this month, of which a portion was due to this mismatch)
  3. Fix the billing routing so Max plan usage is consumed before Extra Usage

Environment Info

  • Platform: darwin
  • Terminal: vscode
  • Version: 2.0.57
  • Feedback ID: 62def813-2cb2-4d19-bb68-08d8c1805062

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/kengo/.local/share/claude/versions/2.0.57 (expected in multi-process scenarios)\n    at Iw0 (/$bunfs/root/claude:2682:1622)\n    at GCA (/$bunfs/root/claude:2682:1300)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-08T13:12:12.545Z"},{"error":"Error: 1: 1 \n    at VU8 (/$bunfs/root/claude:1506:4022)\n    at async KU8 (/$bunfs/root/claude:1506:1623)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-08T13:12:41.751Z"},{"error":"Error: 400 {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"You're out of extra usage. Add more at claude.ai/settings/usage and keep going.\"},\"request_id\":\"req_011CZrMyAWdBJUPnWhKN8xFr\"}\n    at generate (/$bunfs/root/claude:415:9395)\n    at makeRequest (/$bunfs/root/claude:1269:5434)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-08T13:12:45.090Z"},{"error":"Error\n    at cU (/$bunfs/root/claude:27:1143)\n    at <anonymous> (/$bunfs/root/claude:32:10084)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:34:2147)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-08T13:12:48.669Z"},{"error":"Error\n    at cU (/$bunfs/root/claude:27:1143)\n    at <anonymous> (/$bunfs/root/claude:32:10084)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:34:2147)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-04-08T13:13:11.174Z"}]

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗