Claude Code Token Usage: We Measured 4 Ways to Cut It (Tools Helped Least)

Cut Claude Code Tokens: 4 fixes measured, tools helped least

Measured: October 2026 — ten days of real Claude Code usage, one machine, numbers from ccusage, session logs, and each tool’s own stats

If your Claude Code limits run out halfway through the week, the obvious move is to install a token-saving tool. We installed two, cleaned up our setup, and changed how we run sessions. Then we measured all four.

The short version: the tools helped least. Output compression saved 14% of what it touched and proxy compression about 7% of cost. Removing things we never used cut about 11K tokens from every single turn. And the biggest lever wasn’t a setting at all: it was how long we let sessions run.

Quick Start: The 3 Habits That Did the Most

  1. Run /clear between unrelated tasks. Every turn re-reads the whole conversation, so a long session gets more expensive per message as it goes.
  2. Run /context once and remove what you don’t use. MCP servers, plugins, and skills you installed once and forgot are paid for on every turn.
  3. Keep heavy MCP servers in project scope. Browser servers only where you do front-end work, not in every project.

⚡ Copy This Prompt: Let Claude Code Audit Its Own Setup

This only reads and reports. You decide what to cut:

Audit what this Claude Code setup loads on every turn and tell me what to cut. Do not remove or change anything yet.

1. Run `claude mcp list` and list every MCP server with its scope.
2. Read ~/.claude/settings.json and list enabled plugins, hooks, and env settings. List every folder in ~/.claude/skills.
3. For each item, say whether I've plausibly used it in the last two weeks based on this project's files, and estimate its context cost as small, medium, or large (browser and IDE-style MCP servers with 20+ tools are large).
4. Give me one table: item, cost, used recently (yes/no/unsure), recommendation (keep / remove / move to project scope).
5. Write the exact undo command next to every "remove" so I can restore it later.

Asking for the undo command up front means nothing you remove is lost.

On this page (10 sections)
  1. Where the Tokens Actually Go
  2. The Four Things We Measured
  3. 1. Shorter Sessions
  4. 2. Remove What Loads on Every Turn
  5. 3. RTK: Compress Command Output
  6. 4. headroom: A Compressing Proxy
  7. Honest Limits
  8. Common Mistakes to Avoid
  9. Q&A
  10. Official Resources

Where the Tokens Actually Go

Before cutting anything, look at what you’re paying for. Over ten days we used 555.9M tokens. 531.8M of them, 95.7%, were cache reads: the model re-reading the conversation, instructions, and tool definitions it had already seen, once per turn.

Cache reads are cheap per token, but they are most of the bill because they repeat. A turn deep into a session carried 97K to 117K tokens of context on a typical day, and on one long day the median was 181K. So the questions that matter are: how much do you load at the start, and how long do you let it grow?

npx ccusage@latest daily --since 20260926

Run this to see your own split. If cache reads dominate like ours, keep reading.

The Four Things We Measured

What we changedMeasured effectVerdict
Shorter sessions (/clear, /compact)Turn context ~30K at a fresh start vs. 100K+ deep into a sessionBiggest lever
Removed unused MCP servers, plugins, skillsFirst-turn context 41–44K → 29.5–33K (about −11K per turn)Do this once
RTK (compresses command output)11.6K saved over 153 commands (14%)Small, free, keep
headroom (compressing proxy)6.8% of cost; 4.4% average compressionSmall, keep if already set up
A long paper scroll fed through an orange funnel comes out as a shorter strip
Most of the bill is context read again every turn: trim what goes in before you compress what comes out.

1. Shorter Sessions

Our fresh sessions started around 30K tokens of context. By the middle of a working day, a typical turn was past 100K, and that whole amount is read again on every message. Nothing we installed came close to the difference between those two numbers.

When to clear

habit

Start a new conversation when you switch to an unrelated task:

/clear

If you need to keep going on the same task but the session is long, summarize it instead:

/compact keep the file paths we changed and the open bugs

The instruction after /compact tells it what the summary must keep.

2. Remove What Loads on Every Turn

Every MCP server, plugin, and skill adds its definitions to the start of the context. We had collected four plugins, five MCP servers, three connectors, and four skills we no longer used. Removing them took the median first turn from 41–44K tokens down to 29.5–33K.

MCP servers are usually the biggest item. When we measured our five no-key starter servers, the two browser servers alone were about 12.3K of their 20.8K tokens of tool definitions.

Step 1 — See what’s loaded

~30 sec

Inside Claude Code:

/context

It breaks the current context down by system prompt, tools, MCP tools, memory files, and messages.

Step 2 — List and remove MCP servers

~1 min

claude mcp list
claude mcp remove <name> --scope user

Use the scope it was added with (user, project, or local). Write down the original claude mcp add line first so you can put it back.

Step 3 — Turn on tool search

~30 sec

Recent Claude Code versions can defer MCP tool definitions and load them only when needed. Add this to the env block of ~/.claude/settings.json:

"ENABLE_TOOL_SEARCH": "true"

This is on in our setup, and the numbers above were measured with it on, so it does not replace removing what you don’t use.

3. RTK: Compress Command Output

RTK is a free CLI that sits in front of shell commands and trims their output before Claude reads it. It installs a Claude Code hook, so it works without changing how you prompt.

rtk init -g
rtk gain

rtk gain shows what it has saved so far. Undo with rtk init -g --uninstall.

Command typeOutput saved
ls (directory listings)60–85%
grep (search)28.5%
File reads13.3%
All 153 commands14% (11.6K tokens)

Big percentages on the noisy commands, but command output is a small part of a session. 11.6K tokens over three days is about one turn’s worth of fixed overhead. Worth keeping because it costs nothing, but it won’t fix running out of limits.

4. headroom: A Compressing Proxy

headroom routes Claude Code’s requests through a local proxy that compresses large tool results before they reach the model. Across 7,519 requests it compressed 5,021, by 4.4% on average, and saved 6.8% of cost. Its best single case shrank a 33K-token result to 2.7K.

It leaves most of the conversation alone on purpose: changing text that’s already cached would break the provider’s cache and cost more. That’s the right call, and it’s also why the savings are modest.

Honest Limits

  • One machine, ten days. Your split depends on how you work. Run ccusage and /context on your own setup before copying our conclusions.
  • The before and after weeks weren’t identical work. The first-turn number is the cleanest comparison because it’s measured before any work happens; the per-turn medians move with what we did that day.
  • Dollar figures are API list prices. On a subscription plan they show relative usage against your limits, not what you were charged.
  • RTK and headroom were measured over a few days. The percentages were stable, but treat the totals as early.

Common Mistakes to Avoid

  • Installing a tool before checking where tokens go. If 96% is cache reads, output compression can only touch a sliver of it.
  • One session for the whole day. The 30th message pays for the 29 before it.
  • Adding every MCP server with --scope user. Heavy servers you need in one repo belong in that repo’s project scope.
  • Removing things without an undo. Back up ~/.claude/settings.json and note each claude mcp add line first.

Q&A

Will these save money on a Pro or Max plan?

Not in dollars, but they stretch your usage limits, which are counted in the same tokens.

Does /compact lose important context?

It can. Tell it what to keep (/compact keep X), and for a truly new task use /clear instead.

Should I install RTK and headroom at all?

RTK is free and harmless, so yes if you run a lot of shell commands. headroom needs a local proxy; set it up only if you’re comfortable with that. Neither replaces the two habits above.

Which MCP servers should I keep?

The ones you used this week. Our starter pack guide lists what each common server costs, and the MCP directory has setup guides for re-adding anything later.

Official Resources