Confusing billing for Sonnet 4.6 1M context: 'extra usage' despite available plan tokens
Summary
The model picker in Claude Code lets users select "Sonnet 4.6 (1M context)" without making it clear that this variant draws from a separate "extra usage" pool rather than the normal plan budget. Users with significant plan tokens remaining are silently blocked or billed extra, which feels like a foot-gun.
What happened
- Active plan with meaningful token budget remaining.
- Selected Sonnet 4.6 with 1M context window via
/model. - Ran into "extra usage required" / degraded behavior despite having plan tokens left.
- Switched to Opus 4.6 (1M context) and it worked normally on the same plan.
The confusion: why does Sonnet 4.6 1M require "extra usage" when Opus 4.6 1M does not, on the same plan and same remaining budget? And why isn't this surfaced in the /model picker before the selection commits?
Why it feels like a foot-gun
- The
/modelmenu shows "Sonnet 4.6 (1M context)" as a normal option with no indication it's metered differently than other variants in the same list. - There's no pre-flight warning ("this model draws from extra-usage pool, continue?") before switching.
- The failure mode is not a clear "you need to enable extra usage" dialog — it's ambiguous degraded behavior that users interpret as the 1M context feature being broken.
- Opus 4.6 1M behaving differently from Sonnet 4.6 1M on the same plan is counterintuitive — users reasonably expect "1M context" to be one feature with one billing rule across model tiers.
Requested fixes
- Label the picker. Show which model variants draw from plan budget vs. extra-usage in
/model, inline, before selection. - Pre-flight warning. If a user selects a variant that will consume extra-usage, surface a one-time confirmation with the actual rate.
- Consistent rules across tiers. Either both Sonnet and Opus 1M context cost extra, or neither does. The asymmetry is the root of the confusion.
- Clearer failure messages. When the model is unavailable on the current plan, say exactly that ("Sonnet 4.6 1M requires extra-usage billing; enable in settings"), not a silent degradation.
Environment
- Claude Code (latest as of 2026-04-10)
- macOS (Darwin 25.4.0)
- Plan: Max plan with 1M context access
Feedback tone
I want to pay for the service. I don't want to be surprised by which specific variant of the same context window triggers overage billing. Make the billing rules legible in the picker and this goes away.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗