Misleading "Usage limit reached" error when selecting Sonnet — actually a 1M context tier gate

Open 💬 7 comments Opened May 24, 2026 by tcbruneau-hub

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:

  1. 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.
  2. 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.
  3. Provide an in-product setting or flag (--context standard or 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_

View original on GitHub ↗

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