leejk/ jk lee
Notes

Notes

How to Save Even a Handful of Tokens

Six leaks you can plug in five minutes

·
#notes#token-cost#claude-code#workflow#context-engineering

Token usage has become a productivity signal, but most of the waste is small leaks you can plug in five minutes — once you stop averaging and look at the distribution. Six levers measured on the author's own workflow: trimming the cold-start skill stack, disabling unused MCP servers, keeping cache prefixes stable inside the 5-minute TTL, sending narrower contexts to subagents, defaulting to Sonnet, and using Plan mode + AskUserQuestion to collapse round-trips. Plus the cost each lever pays back.

TL;DR. Tokens = time = money these days, but most of the waste in your workflow is a leak you can plug in five minutes. You catch it by looking at the distribution, not the average. Six levers — trim the skill cold-start, prune MCP servers, mind the 5-minute prompt-cache TTL, send subagents only narrow context, default to Sonnet, and collapse round-trips with Plan mode. Turn them all on and accuracy drops — knowing where to stop is the real thing.

Token Usage Became a Productivity Signal

When a user complained that they'd "burned through their Max plan in 40 minutes," GSD maintainer trek-e answered like this"4 agents ≈ 4× tokens. This is how the system works." The honest price tag on a fresh-context-per-subagent design.

On May 6, at Code with Claude 2026, Anthropic announced Outcomes for Managed Agents — every result runs one more separate grader call. In the same announcement, the Advisor (Opus advisor + Sonnet executor) split in two, and Remote Agents, CI auto-fix, and multi-agent orchestration all moved closer to GA. Every one of these is a design that spends more tokens.

1M-context Opus 4.7 shipped at standard pricing with no long-context premium. In the same week, GitHub saw a silent Sonnet downgrade issue and a Max plan 200K cap bug — meaning more users are actually filling the long context.

Whoever spends a lot passes for someone who uses AI properly. That equation is only partly true.

Estimating Wasted Tokens Per Person

For a 6–8 hour active session per person, input tokens run about 600k–1M (including thinking, tool results, and cache reads). Of that, a conservative 20–30% is fixed leakage — roughly 150–300k tokens wasted per person per day. Below I've written down where the tokens leak in my own case.

Converted to Dollars

At Sonnet 4.6 input of $3/1M tokens: $0.45–0.90 per person per day, $13–27 per month, $160–330 per year.

At Opus 4.7 input of $15/1M tokens: $2.25–4.50 per person per day, $67–135 per month, $810–1,640 per year.

Actual cost lands between the two, since it's mixed-mode (Opus only for hard work, Sonnet for the rest). Run it for a year with every lever off and hundreds to a thousand-odd dollars per person vanish for nothing.

For a 10-person team that's thousands of dollars a year; for 100, tens of thousands. Flipping just two or three of the small levers pays it back.

Where I Was Wasting

Five leaks in my own workflow, measured with /context:

  1. Cold-start system prompt ~14k tokens. superpowers + mattpocock + my own skills add up to 30+, plus a work-context manifest via a SessionStart hook. It gets re-stamped after every new session, /clear, and /compact.
  2. The tool list for 7 MCP servers rides in the prefix at ~3k tokens, always. Usually only 1–2 tools are active. It's re-billed as cache_creation on every cache miss, and even during a cache hit it accrues as a cache read every turn.
  3. Prompt-cache miss 1–2× per day. Anthropic's prompt cache has a 5-minute TTL. Step away for lunch or a meeting past five minutes and the whole prefix is re-billed as input cost. 14k cold-start × 1–2 times = 14–28k tokens extra.
  4. Whole-conversation dump on subagent dispatch ~10k tokens/dispatch. If you throw it over without trimming — "here's everything so far, carry on" — the receiving subagent's fresh 200k context starts 5–10% full the moment it lands. Trim the same task narrowly and 1–2k tokens is plenty.
  5. Using Opus where Sonnet was enough. Typo fixes, simple greps, polishing one line of a README handled by default Opus. Run the same work on Sonnet and it costs 1/5 as much, with lower latency too.

Add it all up and roughly 200–300k tokens of measurable waste per 6-hour active session. 25–30% of my base cost.

Six Small Ways to Save

Each lever has a measurable effect. All take under five minutes to set up.

  1. Put the cold-start system prompt on a diet. Turn off unused skills via the enable flags in ~/.claude/settings.json or a plugin-level toggle. A progressive-disclosure / namespace pattern (like GSD's 6-namespace router) is recommended. Effect: 12k → 1–2k is achievable. See the --minimal case in the GSD review.
  2. Enable MCP servers per task. Bring up only the servers you need with something like claude --mcp <name>, or keep them off by default in settings and enable them explicitly. Going 7 → 2 servers saves 3–5k tokens per turn. See the context-blowup section of the MCP review.
  3. Mind the 5-minute prompt-cache TTL. If you're about to step away, keep it short, or batch your work while the system prompt-cache hit is still alive. A cache miss is always a leak — paying input cost twice for the same prefix.
  4. Send subagents only narrow context. No dumping the parent's whole conversation. Write into the brief only the facts, files, and decisions that subagent truly needs. You get lost-in-the-middle avoidance as a bonus.
  5. Default to Sonnet 4.6, explicitly call Opus only when it's hard. Set model: sonnet in ~/.claude/settings.json and escalate to /model opus (or a sub-skill) only for hard reasoning. 80% of coding work is fine on Sonnet. See the token-default axis in the ECC review.
  6. Collapse round-trips with Plan mode + AskUserQuestion. Take work that would otherwise run 4–5 round-trips on a fuzzy spec and resolve it inside Plan mode with one or two AskUserQuestion calls. 4 round-trips × 5k tokens vs. 1 round-trip × 5k tokens is a 4× difference.

What Each Lever Costs You

Turn them all on and accuracy and speed drop. Be conscious of each one's cost.

  • Trimming skills has a cost — when a familiar skill is suddenly gone, your workflow breaks, and spots where it quietly stops helping appear. Check 30-day usage frequency before turning anything off.
  • Pruning MCP has a cost — the setup tokens plus the cognitive load of re-enabling when you need it. Per-task enabling demands an explicit cost every time.
  • Minding the cache TTL has a cost — you can't step away. The cognitive load of being chained to a five-minute game can be more expensive than the tokens you actually save.
  • Narrow subagent context has a cost — the cognitive labor of trimming well is the real thing. Trim too little and the subagent asks for a re-dispatch, or answers wrong from missing context.
  • Defaulting to Sonnet has a cost — using Sonnet for hard reasoning is a false economy: worse output → retries → more tokens. The escalation call has to be made by a human.
  • Collapsing round-trips with Plan mode has a cost — if the Plan stage fails to nail the spec, you get a longer cycle. Executing on a bad plan makes the rollback cost more than four round-trips.

The overall principle: don't turn on every lever at once. Plug the two biggest leaks in your own distribution first, then move on to the small ones. Tokens leak by distribution, not by average, and you only see the distribution by laying it out yourself.