Misleading "Usage limit reached" error when selecting Sonnet — actually a 1M context tier gate
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?
Summary
Selecting Claude Sonnet 4.6 in Claude Code triggers an error worded as a usage-limit problem, when the actual cause is that Sonnet automatically requests the 1M extended context tier — which now requires the "usage credits" toggle to be enabled. The error message does not communicate this, and the behavior is inconsistent with how Opus and Haiku are handled.
Error message received
Usage limit reached
You've reached your usage limit. Try again after your limit resets.
API Error: Usage credits required for 1M context · turn on usage credits at
claude.ai/settings/usage, or use --model to switch to standard context
What Should Happen?
Why this is misleading
At the time of the error:
- 5-hour limit: 15% used
- Weekly all-models limit: 49% used
- Weekly Claude Design: 0%
- Current session context: 36.8k / 600.0k (6%)
I am nowhere near any usage limit. The headline "Usage limit reached" is incorrect — the real issue is that Sonnet's 1M context tier is gated behind a billing opt-in I have not enabled.
Inconsistency across models
Same account, same session, no settings changes:
- Sonnet 4.6 → blocked (auto-enables 1M / 600k extended context tier)
- Opus 4.7 → works (uses standard 200k context, despite being a more expensive model)
- Haiku 4.5 → works (uses standard 200k context)
It is counter-intuitive that the more expensive model (Opus) works while the mid-tier model (Sonnet) is blocked. The gating is on the context-window feature, not the model itself, but this is not surfaced to the user.
Regression
This worked yesterday with no settings changes on my end. Sonnet was usable without any credits toggle. Today it is not. This appears to be a recent server-side policy change.
Expected behavior
One of the following:
- Claude Code should default Sonnet to the standard 200k context window (matching Opus/Haiku behavior) and only request the 1M tier when the user explicitly opts in.
- If extended context remains the default for Sonnet, the error message should clearly say "Sonnet's extended context tier requires usage credits to be enabled" — not "Usage limit reached," which is factually wrong when the user is well within their plan limits.
- Provide an in-product setting or flag (
--context standardor similar) so users can keep using Sonnet on the standard 200k tier without enabling credits.
Environment
- OS: Windows 11 Pro for Workstations (10.0.26200)
- Claude Code version: 2.1.78
- Plan: Claude paid plan (not API credits)
- Models tested: Sonnet 4.6 (fails), Opus 4.7 (works), Haiku 4.5 (works)
Error Messages/Logs
Steps to Reproduce
Run a requests on Claude Code - Sonnet (Med / High)
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
- Claude Code version: 2.1.123
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
_No response_
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗