Context window status bar shows 200k for Claude Sonnet 4.6, but model supports 1M tokens

Resolved 💬 23 comments Opened May 23, 2026 by ChrisC156 Closed Jun 26, 2026

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?

The context window status bar in Claude Code displays 200k tokens when using Claude Sonnet 4.6, but the official model documentation confirms Sonnet 4.6 has a 1M token context window.

What Should Happen?

The status bar should display 1M tokens (or ~1,000,000) to match the actual context window of Claude Sonnet 4.6.

Error Messages/Logs

Steps to Reproduce

Open Claude Code
Start a new conversation
Observe the context window meter in the status bar
It shows 200k — but claude-sonnet-4-6 has a 1M context window per https://platform.claude.com/docs/en/about-claude/models/overview

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.150 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

_No response_

View original on GitHub ↗

23 Comments

giruuuuj · 1 month ago

Analysis

The status bar shows 200K because Claude Code's model capabilities configuration has the wrong context window size for claude-sonnet-4-6. This is a hardcoded value in the closed-source CLI — Sonnet 4.6 launched with a 1M context window per the official docs, but the CLI's model config still has the old 200K value.

Root cause

The context window meter reads from an internal model capabilities map. When Sonnet 4.6 (claude-sonnet-4-6) was added, its max_input_tokens was set to 200K instead of 1M. This affects only the status bar display — the actual API calls still use the full 1M window for requests.

No user-side workaround

Since this is a hardcoded internal model config, there's no way for the user to override it. The display will show 200K until the CLI is updated with the correct value. You can verify the real context window via the Models API — query claude-sonnet-4-6-20260217 for max_input_tokens.

ChrisC156 · 1 month ago

<img width="1029" height="632" alt="Image" src="https://github.com/user-attachments/assets/03d43e8a-456b-4636-b6a7-96295aaeb81a" />

Doesn's work still. It affects my actual session and not just the status bar display.

giruuuuj · 1 month ago

@ChrisC156 You're right — I incorrectly assumed it was only the display. If the actual session is being limited to 200K, then the CLI is actively capping the context window to 200K for Sonnet 4.6, not just displaying the wrong number.

Corrected root cause: The CLI has an internal max_input_tokens of 200K for claude-sonnet-4-6 in its model capabilities config. This value is used to both (a) display the meter and (b) bound the actual context sent to the API. Since the API supports 1M, this is an artificial client-side limit.

This means until the CLI is updated with max_input_tokens: 1000000 for Sonnet 4.6, you're limited to 200K of usable context regardless of model support. No user-side override exists for this hardcoded limit.

ChrisC156 · 1 month ago

Yeah I figured, Been trying to tinker with it if I did something wrong. It was working fine yesterday, hopefully it gets fixed soon.

giruuuuj · 1 month ago

@ChrisC156 You said it worked yesterday — that means this is a v2.1.150 regression. Looking at the CHANGELOG, v2.1.117 had the exact same bug for Opus 4.7:

v2.1.117: "Fixed Opus 4.7 sessions showing inflated /context percentages and autocompacting too early — Claude Code was computing against a 200K context window instead of Opus 4.7's native 1M"

v2.1.150 says "Internal infrastructure improvements (no user-facing changes)" but that internal refactor likely touched the model capabilities config and reset Sonnet 4.6's max_input_tokens from 1M back to the default 200K. This would also explain why the status bar shows 200K despite API supporting 1M — the CLI is now enforcing an artificial client-side cap.

The fix is the same as v2.1.117 was for Opus 4.7: correct Sonnet 4.6's max_input_tokens to 1M. No known user-side workaround.

Pew-X · 1 month ago

@giruuuuj @ChrisC156 yep, facing the same issue on my end the model context length defaulted on 200k on Pro plan which was not the case yesterday

ChrisC156 · 1 month ago

Thoughts I was the only one @Pew-X. Waas worried I did something that made me mess up the context window lol

Pew-X · 1 month ago

@ChrisC156 is this something related to usage-limits ? or is this a regression in the new update?

ChrisC156 · 1 month ago

@Pew-X not sure, only ever bugged out for me when i updated so my best guess is it's an update thing

Pew-X · 1 month ago

@ChrisC156 I hope they fix this

futureformed · 1 month ago

I'm having exactly the same issue since about 9 a.m. BST. It has to be a bug. It was absolutely fine yesterday, and regular chat is working fine too.

ChrisC156 · 1 month ago

Hope they get it fixed soon, it's bugging out my projects

futureformed · 1 month ago
Hope they get it fixed soon, it's bugging out my projects

What I dont understand is that in Anthropic's own documentation it says Pro plans on Sonnet4.6 have a 500k window, not 200K - https://support.claude.com/en/articles/8606394-how-large-is-the-context-window-on-paid-claude-plans

Deltron2020 · 1 month ago

Any news on this? I was literally working last night and my context windows were 1M, now everything is 200k. The only articles I can find seem to say the exact opposite happened. The article below states that usage credits must be enabled now so maybe that's the fix?

https://support.claude.com/en/articles/8606394-how-large-is-the-context-window-on-paid-claude-plans

ChrisC156 · 1 month ago

@Deltron2020 No I already tried enabling usage credits and it still wont let me work on my project

giruuuuj · 1 month ago

@ChrisC156 Correct � enabling usage credits won't help here because this isn't a billing issue. The root cause is a model configuration regression in v2.1.150 that resets Sonnet 4.6's max_input_tokens from 1M to 200K on the client side.

A downgrade to v2.1.149 should restore the 1M context:


npm install -g @anthropic-ai/claude-code@2.1.149

Or try switching to a model that explicitly shows [1m] in the status bar (e.g. Opus 4.7) and back � sometimes the renegotiation picks up the correct config.

abhinas90 · 1 month ago

This caused us real confusion in production. We were conservatively limiting subagent contexts to 180k thinking the window was 200k, when Sonnet 4.x actually supports 1M.

The status bar should show the actual model limit, not a hardcoded default. For now, worth noting that subagents with complex MCP tool schemas have way more headroom than the UI suggests.

futureformed · 1 month ago

Looks like @bcherny is aware based on posts on X

xxDexter12 · 1 month ago

You're seeing 200K context for Sonnet 4.6 because that's actually the correct behavior for your Max plan. The documentation is consistent on this.
Here's what your Max plan includes:
Opus with 1M context: Automatically included at no extra cost
Sonnet 4.6 with 1M context: Requires usage credits to be enabled, even on Max plans
The 500K context you mentioned applies to regular claude.ai chat (not Claude Code) and only for certain models. In Claude Code specifically, Sonnet 4.6 defaults to 200K unless you enable usage credits.
This isn't a bug from the recent update — it's the intended design. Sonnet with 1M context has never been part of the automatic upgrade that Opus gets on Max plans.
Your options:
Use /model opus for 1M context at no extra cost (already included)
Enable usage credits if you specifically need Sonnet with 1M context
Stick with opusplan at 200K context (no extra charges)
The update didn't change this behavior — it's been this way since the 1M context feature launched.

futureformed · 1 month ago
You're seeing 200K context for Sonnet 4.6 because that's actually the correct behavior for your Max plan. The documentation is consistent on this. Here's what your Max plan includes: Opus with 1M context: Automatically included at no extra cost Sonnet 4.6 with 1M context: Requires usage credits to be enabled, even on Max plans The 500K context you mentioned applies to regular claude.ai chat (not Claude Code) and only for certain models. In Claude Code specifically, Sonnet 4.6 defaults to 200K unless you enable usage credits. This isn't a bug from the recent update — it's the intended design. Sonnet with 1M context has never been part of the automatic upgrade that Opus gets on Max plans. Your options: Use /model opus for 1M context at no extra cost (already included) Enable usage credits if you specifically need Sonnet with 1M context Stick with opusplan at 200K context (no extra charges) The update didn't change this behavior — it's been this way since the 1M context feature launched.

Excuse my ignorance but doesn't Opus burn thru usage quicker? How does that equate to no extra cost?

Pew-X · 1 month ago

@xxDexter12 pardon but even before enabling usage credits sonnet used to have 1m context length
, this is not an expected behaviour,

@machomanrandysavageldn what posts on X are you reffering to ?

ChrisC156 · 1 month ago
github-actions[bot] · 20 days ago

Closing for now — inactive for too long. Please open a new issue if this is still relevant.