How big are context windows now?
Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 5, Sonnet 4.6, Fable 5 and Mythos 5 all have a 1M-token context window, with a maximum output of 128K tokens. Other Claude models, including Sonnet 4.5, have 200K (Anthropic documentation, fetched 3 August 2026).
| Model | Context window | Max output |
|---|---|---|
| Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6 | 1M tokens | 128K tokens |
| Claude Sonnet 5, Sonnet 4.6 | 1M tokens | 128K tokens |
| Claude Fable 5, Mythos 5 | 1M tokens | 128K tokens |
| Claude Sonnet 4.5 and earlier | 200K tokens | Not stated on the page checked |
The commercial change matters more than the number. Quoted from the same documentation: "For every model with a 1M-token context window, 1M is the default: you don't need a beta header, and long-context requests are billed at standard pricing." The pricing page adds that a 900k-token request is billed at the same per-token rate as a 9k-token request. On Sonnet 4.5 and Sonnet 4 the 1M window was a beta carrying a long-context premium of 2x input and 1.5x output above 200K input tokens. That cliff is gone on current models.
One deliberate omission. This guide does not publish OpenAI or Google context window sizes. Both vendors' pricing pages were checked on 3 August 2026 and neither lists window sizes, and the secondary sources contradict each other badly, with the same model described as 400K, 1M and 2M by three different write-ups. Check the vendor's own model reference page, not a blog.
Does this still happen on current models?
Context degradation still happens on current models. Chroma tested 18 models across four families in 2025 and found every one degraded as input length grew, with task complexity deliberately held constant. Getting longer, not harder, was enough to hurt performance.
The report is Hong, Troynikov and Huber, "Context Rot: How Increasing Input Tokens Impacts LLM Performance", Chroma Technical Report, 14 July 2025, with an open replication codebase. The 18 models spanned Anthropic, OpenAI, Google and Alibaba families, from Claude Opus 4 and o3 through to Gemini 2.5 Pro and three Qwen3 models.
Quoted from the report: "Large Language Models (LLMs) are typically presumed to process context uniformly, that is, the model should handle the 10,000th token just as reliably as the 100th. However, in practice, this assumption does not hold. We observe that model performance varies significantly as input length changes, even on simple tasks."
Four findings are directly useful when you are debugging your own prompt:
1. The easy benchmark hides the problem. The standard needle-in-a-haystack test relies on word overlap between the question and the answer. When Chroma rewrote the needle so it required semantic understanding instead, performance fell sharply with length while the word-matching version held up.
2. Distractors compound. One distractor pushed performance below the clean baseline, four pushed it lower again, and the damage was uneven across distractors. Claude models had the lowest hallucination rates of those tested, GPT models the highest.
3. Packaging beats presence. On LongMemEval, focused prompts of roughly 300 tokens scored consistently high while full prompts of roughly 113K tokens degraded markedly across every model family. Same information, different packaging, materially different result.
4. Long outputs decay too. On a repeated-words replication task, models under-generated or invented words that were never in the input. GPT-4.1 refused the task 2.55% of the time and Claude Opus 4 refused 2.89%.
Disclosure worth making: Chroma sells retrieval infrastructure, so "retrieval beats stuffing" is a commercially convenient conclusion for them. The codebase is open and the result matches what practitioners report, but the interest is real.
What should you do instead of stuffing the window?
Curate what goes in rather than filling the space you have been given. Anthropic's guidance for building agents sets the goal as finding "the smallest set of high-signal tokens" that make your desired outcome most likely (Anthropic, Effective context engineering for AI agents, 2025).
Five techniques do most of the work, and four of them are named in that guidance.
1. Compaction. Summarise a conversation that is nearing the window limit and restart a fresh window from the summary. Anthropic describes it as "the first lever in context engineering to drive better long-term coherence" and ships it as server-side compaction, in beta for Claude 4.6 and later. Compaction is lossy by design, so anything mentioned once forty turns ago is a prime candidate for deletion.
2. Just-in-time retrieval instead of stuffing. Rather than pre-loading every document, keep lightweight identifiers such as file paths, stored queries and links, and load the content at the moment it is needed. Anthropic's analogy is human: we do not memorise whole libraries, we keep file systems, inboxes and bookmarks.
3. Structured note-taking. Have the agent write durable notes to a file outside the window and read them back later. This is also the reason a constraints file such as CLAUDE.md or AGENTS.md outperforms telling the agent the same rule in chat.
4. Sub-agent isolation. Give a specialised sub-agent a clean window, let it burn tens of thousands of tokens internally, and have it return a condensed summary. Anthropic's stated target is 1,000 to 2,000 tokens returned per sub-agent.
5. Retrieval instead of pasting. If you are pasting the same 40-page document into every session, you want an index and a search step, not a bigger window.
A sizing habit helps too. Anthropic publishes rough token costs for reading things: an average web page of about 10 kB is roughly 2,500 tokens, a large documentation page of about 100 kB is roughly 25,000 tokens, and a research paper PDF of about 500 kB is roughly 125,000 tokens. Three research PDFs is a third of a million-token window gone before you have asked a question.