A context window is everything a model can see in one session: the system prompt, its tool instructions, any document you pasted, every turn of the conversation so far, and the message you just sent. All of it is loaded fresh when the chat starts, and it is the only thing the model has to work from.
What is in a context window?
Four things fill a context window, and they load in this order.
- The system prompt and the tool instructions. Both are in place before you type anything. If the model is connected to Gmail, the session opens already holding instructions on how to use Gmail, because it has no way to work that out on its own.
- Documents you pasted in. A lease, a maintenance SOP, yesterday’s dispatch log.
- The conversation history. On every turn the model re-reads the whole conversation from the first message. Picture explaining a job to someone who, before answering each question, silently replays everything you have said in the last hour. Past a certain length, most of the context window is that replay rather than the job.
- Your current message, which is typically 0.001% of the context window.
Does a context window include your previous conversations?
No. A new session does not carry your earlier chats, and it cannot see files on your computer or your shared drive unless you paste them in or connect a tool that fetches them.
By the 40th chat, people expect the model to know who they are, which buildings they manage and how the business runs. It does not, because those 39 conversations were never loaded.
How many tokens does a simple question actually use?
You type “Summarise this for me” and paste in a commercial lease. Your question is five tokens. Here is the rest of the context window.
| In the window | Tokens |
|---|---|
| System prompt | 2,000 |
| Tool instructions and tool calls | 3,000 |
| The 20-page lease you pasted | up to 15,000 |
| The dispute at another unit you were working through earlier in the chat | 8,000 |
| Your question | 5 |
| Total | about 30,000 |
Operators hold detail back because they are worried about bloating the window. Five tokens against thirty thousand is not bloat, and those five tokens are close to the only control you have over where the answer goes. Use them: the unit number, the tenant, the clause you are actually asking about, and what you plan to do with the answer. Judge the session on the output, not on the size of the input.
How big is a context window on current models?
Modern models hold about a million tokens of context window, so 30,000 for a lease summary is nowhere near a ceiling.
| Model | Context window |
|---|---|
| Opus | about 1,000,000 tokens |
| GPT-5 models | about 1,000,000 tokens |
| Most models, as late as early 2026 | 200,000 to 250,000 tokens |
That jump is recent. As late as early 2026 the ceiling was 200,000 to 250,000 tokens depending on the model, and a long document plus a day of back and forth was a real constraint. Size is rarely what breaks a session now. What breaks it is where in the window your information sits.
What happens when you hit the context window limit?
Long before you get there, performance has started sliding. The deeper into a context window you go, the worse the model does, because it puts heavy emphasis on the last few messages and starts forgetting the earlier parts of the conversation. We call that the eviction effect. In practice it means the notice terms you pasted at message three are the least reliable thing in the session by message ninety.
At the limit, the model compacts. It takes the million tokens, summarises them down to maybe 100,000, and carries on in the same chat as though nothing happened, so what you are now questioning is a summary rather than the lease. Stay in that session long enough and it is a summary of a summary, which is where the quality drop gets hard to miss.
So start a fresh chat when the topic changes. Finish the lease renewal, then open a new session for the dispute at the other unit. A clean context window helps the model work out what matters and answer in the fewest tokens, which is what it is optimised for. The objection is always having to re-type the basics every time, and there are real ways around that, starting with agent memory.