A Claude Code session on Jon's machine spent 65,000 tokens before doing anything; most of it can be cut

What loads on a session's first turn, what it cost on one real setup, and the settings, from MCP toggles to the 100,000-token compaction floor, that bring it down.

Listen to this story
5:05

Every Claude Code session pays an entry fee before anyone types. On the first turn, the docs say, the system prompt, the built-in tools, every CLAUDE.md file, auto memory, the names of MCP tools and the description of every skill all load into the context window, and every later turn reads them again. On October 23 Jon's agents measured that fee on his machine, and it was larger than the work. A Claude Haiku 5.5 session started at 65,000 tokens before doing anything. With MCP servers and skills removed it started at 31,000; with only the core tools, 17,000.

Most of the gap was connections. The machine had 48 MCP servers configured, and 13 of them came in with plugins: a plugin can bring its own servers, and these needed a sign-in or were failing, yet each still sat in every session's setup. The other half of the bill is age. A long session that coordinates other agents was re-reading about 800,000 tokens on every turn, while a fresh session started near 73,000.

That is the case for starting new sessions on purpose. In Claude Code Desktop a session can start a task in a session of its own, which the sidebar lists under the one that started it, and sessions can message each other and reply. A linked session begins fresh with a brief instead of inheriting a long history, does the job and reports back, so the orchestrator stays small. A session a person opens directly carries the same startup load plus whatever history it builds up.

How to use it

  • Look first. /context breaks the window down by category, with suggestions. /usage shows which skills, plugins and MCP servers took recent usage, and can apply its own recommendations.
  • Cut MCP servers per project. Toggle a server off in the /mcp panel, or list it in disabledMcpServers; that list covers plugin servers and claude.ai connectors too. Tool search is on by default, so a server adds tool names at start, not full definitions, but each still counts.
  • Trim skills. Each skill's description sits in every session. The docs cap the description and when_to_use together at 1,536 characters. skillOverrides with "off" hides one, and disableBundledSkills turns off the built-in ones.
  • Keep CLAUDE.md lean. The guidance is under 200 lines per file; detail for one part of the code belongs in path-scoped rules, which load only when matching files do. HTML comments are stripped before loading, so notes for people cost nothing.
  • Set when it compacts. CLAUDE_CODE_AUTO_COMPACT_WINDOW sets the window from 100,000 to 1,000,000 tokens. It cannot go lower, so compacting at 80,000 means CLAUDE_CODE_AUTO_COMPACT_WINDOW=100000 with CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80. The percentage can only lower the default trigger, not raise it. Idle compaction, on by default, compacts a conversation over 200,000 tokens while it sits idle.
  • Hand it to the agent. Claude can make these changes itself: turn off named servers in settings, shorten a skill's description, move CLAUDE.md sections into rules, set the two variables. Ask it to run /context first and say what it would cut.
  • Brief linked sessions tightly. A started session is a new session, so it pays the same entry fee; the cost guide makes the point for agent-team teammates, which load CLAUDE.md, MCP servers and skills on their own. Everything in the brief adds to that.

What Jon is doing next

The lean start is the first half. The second is what goes into the files that load. Today the same instruction often lands in many places: the model's system instructions, CLAUDE.md, AGENTS.md, a skill, the docs, and then a brief that repeats it for the job. Every copy is one more place to go stale, and stale copies confuse agents, small models most of all. Since September, Jon's fleet folder has piled up 145 handoff files and 115 one-off briefs and notes, most read once.

The plan, not yet in place, is one source of truth for each thing. The orchestrating agent will audit the files every agent reads anyway, the repository's AGENTS.md and CLAUDE.md, skills, code documentation and the code itself, and keep them current and consistent, instead of writing a new context file for each job. The job itself lives in the issue tracker, so a worker's whole prompt can be "read and execute" the issue.

What nobody knows yet

How much a lean start changes the quality of the work, not just the bill: these numbers measure tokens, not results. And how many of those 65,000 tokens one machine's setup adds compared with a default install.

What to watch

Claude Code's release notes for changes to what loads at start, and the next run of /usage after the cuts.

Sources