How many tokens is Claude Code actually using per session?
Claude Code ships with /usage and /context, and tools like ccusage add up your spend. Those answer "how much did I use?" What they do not answer is "how much of it was waste, and where?" - and that is the question worth acting on.
What the built-in commands show
/context shows how full the current window is; /usage shows your quota and spend. Both are quota views. They tell you the total is big. They do not break that total into "this MCP server you never called" or "this file you read four times." That stats-dashboard space is already well covered and mostly free - the gap is diagnosis.
What a real breakdown looks like
Here is a single measured setup - one developer's history, read locally, nothing uploaded:
- Tool output: about 2.32M tokens across the sessions - roughly 16,900 per session - dominated by file reads (1.07M), Bash (465K), and subagent calls (339K).
- Global CLAUDE.md: about 6,344 tokens loaded on every single session, whether or not its instructions were relevant.
- MCP servers: 6 of 14 never called - their tool schemas loaded into context anyway.
- Duplicate reads: 92 re-reads of files already in context, about 104K tokens of pure repeat.
None of that shows up in a quota number. It only shows up when you categorize the tokens by what caused them.
Why the raw numbers look bigger than they are
A gotcha worth knowing: assistant messages get counted more than once in the raw logs. Deduping by message id in the sample cut the count by about 2.5x. If a tool reports huge totals without deduping, treat them as roughly 2.5x inflated.
See your own breakdown
Your setup is not this one - different servers, a different CLAUDE.md, a different read pattern. The point is the method: categorize your own tokens to find the waste. Once you have the breakdown, the levers to cut it follow directly from it, and understanding cache and compaction explains why the totals get so large.
See your own numbers
These are aggregates from real sessions. Your setup is different - run the free scan and get the breakdown for your own Claude Code history. It runs locally; nothing about your code or prompts leaves your machine.
npx usagecutRun a free scan →UsageCut by ClockedCode - not affiliated with Anthropic. The figures on this page are measured on real Claude Code sessions and labeled measured or estimated where it matters.