In 48 days, Claude Code went through $935 worth of tokens - on a flat monthly subscription. Twice in September I hit my session limit right in the middle of work, and everywhere I looked people had a theory: limits got cut, the new model thinks less, Anthropic quietly made it dumber. Nobody showed actual numbers. Then I realised I have them.
Claude Code keeps a log of everything it does, on your own computer: a hidden folder in your
home directory, ~/.claude/projects, one file per session. Every reply from the model
comes with a usage block - fresh input, cache writes, cache reads, output, even the thinking
tokens - plus which model it was and the effort level. So I built a small tool that reads all of
it. It is one Python file with no packages, and it only reads files: nothing leaves your machine.
python3 skill/usage-tracker/usage.py --redact
--redact swaps project names for placeholders, so you can share a screenshot. It
prints a summary and writes an HTML dashboard: cost per day, the days you hit a limit in red, cost
per model and per project.
These dollars are not my bill. I pay a flat monthly price. They are what the same tokens would cost on the API at Anthropic's published prices - the best ruler there is, because Anthropic does not publish exactly how subscription limits are counted.
This was the surprise. Only 13% goes to what Claude actually writes. 63% is Claude re-reading the conversation: every time it takes one step, it reads the whole session again from the cache.
Week by week, the output per call is basically flat: around 400 to 500 tokens, every week. Claude is not writing less. What changed is the context. Two weeks before the video, my typical call carried 127,000 tokens; that week, 518,000. Four times more.
The logs show one more thing: Opus 5 ran on extra-high effort, Opus 5.5 runs on medium. Per call, the newer model is actually cheaper.
The logs record every time you hit a limit and when it resets, so the tool adds up what you used in that five-hour window. My first hit came after $41 of API-equivalent usage, the second after $35. But the night before the video I had a $65 block and no limit at all. I cannot explain that from the logs - maybe my phone or the website counted too in September, since they share the same limit but are not in these files. So I will not pretend I know the exact limit.
/compact when a session gets long - there is less to
re-read on every step.That is where my limits really went. From my own data, Claude Code is not nerfed: the model writes about the same as before, and my sessions got four times longer.
The tracker is also a Claude Code skill. Copy it into ~/.claude/skills/ and ask
"am I being nerfed?" or "where did my usage go this week?" - it runs the tool,
reads the numbers, and answers with them.
Your own numbers in about ten seconds, from logs that are already on your computer.
Patreon members ($5/month) get it with all my other tools, or buy just this one for $9.
cleanupPeriodDays in settings.json to keep more.The dashboard, where the money goes, the week-by-week check, and asking Claude Code directly.
Claude Code logs every model call in ~/.claude/projects on your computer. The tracker reads those logs and shows cost per day, per model and per project, where the tokens go, and every time you hit a limit.
Not in my data: over 48 days, output per call stayed flat at about 400-500 tokens a week. What grew was my context per call, from 127K to 518K tokens - longer sessions, not a weaker model.
In my logs, 63% of the cost was Claude re-reading the conversation, and 81% came from calls with more than 200K tokens of context. Fresh sessions per task, /compact and a short CLAUDE.md help most.
No. It is one Python file that only reads the local log files and writes a local HTML report.
Measuring usage from the data you already have, instead of guessing, is most of what I do at KorFlux - for AI tools, infrastructure and monitoring alike.