Summary
After updating Claude Code from v2.1.50 to v2.1.51, all 1M context model usage began consuming Extra Usage instead of the Max plan subscription allocation. This change was not documented in the changelog, no in-app notification was provided, and the Extra Usage charges were not reflected in real-time — only appearing a day later.
Environment
- Plan: Max ($100/month)
- Platform: Windows (MSYS2/bash)
- Versions affected: v2.1.51, v2.1.52, v2.1.53
- Version before (working): v2.1.50
Evidence: Same workload, different billing
I extracted token-level usage from my JSONL session transcripts:
| Date |
CC Version |
Opus 1M API Calls |
Cache Read Tokens |
Extra Usage Impact |
| Feb 23 |
v2.1.50 |
644 |
85,100,082 |
None |
| Feb 25 |
v2.1.51+ |
392 |
80,173,520 |
+17% ($48.79 total) |
Feb 23 had MORE usage than Feb 25, yet Extra Usage was unaffected. The only variable that changed was the Claude Code version.
Timeline
- Feb 23 (v2.1.50): Used Opus 1M heavily (644 API calls, 85M cache_read tokens). Current Session usage increased normally. Extra Usage: unchanged.
- Feb 25 ~05:00 KST: Auto-updated to v2.1.51/52/53.
- Feb 25 all day: Used Opus 1M normally. Unknown to me, ALL sessions were now consuming Extra Usage.
- Feb 25 evening: Checked Extra Usage — it had NOT increased yet (delayed billing).
- Feb 26: Extra Usage jumped from ~80% to 97%. $48.79 charged.
Three distinct problems
1. Silent billing change (no notification)
The v2.1.51 changelog says:
"Model picker improvements: now shows human-readable labels with upgrade hints"
What it actually did: Added "Billed as extra usage" labels to 1M models AND changed the billing behavior. The changelog does not mention any billing change.
v2.1.50 prepared for this silently:
- Added
CLAUDE_CODE_DISABLE_1M_CONTEXT env var (why disable something that's free?)
- Added
/extra-usage command (why monitor something that wasn't being charged?)
2. No real-time billing feedback
Extra Usage charges from Feb 25 sessions were NOT reflected on Feb 25. They only appeared on Feb 26. Users cannot monitor or control spending if charges are delayed by 24+ hours.
3. Contradictory documentation
- Model picker UI: "Billed as extra usage" (no threshold mentioned — implies ALL tokens)
- Official docs (code.claude.com): "Standard rates until 200K, extra usage after 200K"
Which is correct? Users cannot make informed decisions with conflicting information.
Impact
- Max plan ($100/month) subscribers lose access to 1M context without additional payment
- The feature that was previously included is now paywalled
- No migration path or notice was provided
- Disabling Extra Usage to prevent charges also disables 1M models entirely
Request
- Acknowledge that 1M billing changed in v2.1.51 and was not documented
- Credit Extra Usage charges incurred between v2.1.50 → v2.1.51 transition (users had no way to know)
- Fix real-time billing feedback — charges must be reflected immediately, not 24h later
- Clarify the documentation: is it ALL tokens or only >200K that count as extra usage?
- Add opt-in consent before switching to extra usage billing (similar to what the model picker now shows, but as an explicit confirmation dialog)
Related issues
Reproduction
- Have JSONL transcripts from v2.1.50 sessions using Opus 1M
- Compare Extra Usage meter before and after updating to v2.1.51+
- Observe that identical (or lower) usage now consumes Extra Usage
I have full JSONL session transcripts with token-level data available for investigation.
Summary
After updating Claude Code from v2.1.50 to v2.1.51, all 1M context model usage began consuming Extra Usage instead of the Max plan subscription allocation. This change was not documented in the changelog, no in-app notification was provided, and the Extra Usage charges were not reflected in real-time — only appearing a day later.
Environment
Evidence: Same workload, different billing
I extracted token-level usage from my JSONL session transcripts:
Feb 23 had MORE usage than Feb 25, yet Extra Usage was unaffected. The only variable that changed was the Claude Code version.
Timeline
Three distinct problems
1. Silent billing change (no notification)
The v2.1.51 changelog says:
What it actually did: Added "Billed as extra usage" labels to 1M models AND changed the billing behavior. The changelog does not mention any billing change.
v2.1.50 prepared for this silently:
CLAUDE_CODE_DISABLE_1M_CONTEXTenv var (why disable something that's free?)/extra-usagecommand (why monitor something that wasn't being charged?)2. No real-time billing feedback
Extra Usage charges from Feb 25 sessions were NOT reflected on Feb 25. They only appeared on Feb 26. Users cannot monitor or control spending if charges are delayed by 24+ hours.
3. Contradictory documentation
Which is correct? Users cannot make informed decisions with conflicting information.
Impact
Request
Related issues
Reproduction
I have full JSONL session transcripts with token-level data available for investigation.