Blocked on a Pro or Max plan with no warning? Here is what actually recovers it — and what doesn't.
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 (newer builds say run /usage-credits ... or /model to switch to standard context). It hits paid Pro and Max users, on the CLI, the VS Code extension, the desktop app, and Cowork. As of this writing there is no official fix and no "fixed in version X" — so treat the steps below as recovery, not a permanent cure.
There are two different problems behind the same message. The fix is different for each, so check this first:
/compact, or after the context meter climbed high (130%, 185%, 369K…). → This is the common, recoverable case. Go to Section A.What is happening: your session context grew past 200K tokens (often because auto-compaction didn't fire, or large tool outputs — e.g. MCP screenshots — piled up in the session). The next request silently escalates to the 1M-context tier, which is gated, so it gets blocked. The trick is that a smaller model can still compact the session even when Sonnet is blocked.
# resume the SAME session in a small model
claude --continue --model claude-haiku-4-5-20251001
# inside it:
/compact
# then resume in Sonnet again — the compacted context now fits
claude --continue --model claude-sonnet-4-6
Opus works too as the "compact in a different model" step. The point is that /compact succeeds in the smaller model where it was blocked in Sonnet.
If huge images/screenshots are what pushed you over 200K, the compact itself can be too big to run. Trim the biggest items out of the session JSONL and resume. Find your session file under ~/.claude/projects/<project>/<session>.jsonl, make a backup, and replace the large type: image blocks in tool_result entries with small placeholders, then claude --resume <session>. (Always copy the .jsonl to .jsonl.bak first.)
/clear/clear reliably unblocks you, but it discards the session context. Use it only when the steps above fail and you can afford to lose the conversation.
--model flag alone — ignored when the session is already over 200K, because the request is already built from the oversized context. It only helps combined with a /compact in the smaller model (Section A).CLAUDE_CODE_DISABLE_1M_CONTEXT=1 — currently ignored. This is a confirmed regression that broke in 2.1.156 (it worked in 2.1.155). Setting it in the shell or in settings.json has no effect on affected builds. Dispatch/background sub-agents ignore it too.If the error appears immediately on a brand-new session while your dashboard shows plenty of headroom, no confirmed local fix exists — the strongest signal in the issue threads is that this variant is tied to the account/server side, not your machine. Honest options:
[1m] model id got pinned as your default — grep ~/.claude/settings.json, the project .claude/settings.json, and ~/.claude.json for 1m, and in the VS Code extension's model picker. If you find one, set a standard id (e.g. claude-sonnet-4-6) instead. This is worth ruling out, but it is not a confirmed fix for the fresh-session variant.It is easy to assume a Max plan is immune. It isn't: Sonnet's 1M context is not auto-included even on Max (Opus 1M is included; Sonnet 1M requires usage credits on every plan). So when a long Sonnet session escalates to 1M, Max plans hit the same gate as Pro.
.claudeignore, and avoid letting screenshot-heavy MCP tools accumulate images in one long session.npx cc-safe-setup.