What does your Claude Code usage cost?
Drop your .claude/projects folder. See your tokens and what they would cost at API prices, by day, model and project. Each reply is counted once. Your files stay in this tab.
Your transcripts
Drop your .claude/projects folder here
Windows: %USERPROFILE%\.claude\projects. Mac and Linux: ~/.claude/projects. On a Mac, press Cmd+Shift+. in the picker to see hidden folders. Your browser may ask to “upload” the folder. That is its standard wording: the files are read here, in this tab, and nothing is sent.
How it counts
Every reply from the model is saved in your transcript with a usage block: input tokens, cache reads, cache writes and output. The page adds them up and multiplies each kind by the model’s price from Anthropic’s pricing page.
The trap is that one reply is written several times. A reply with thinking, text and two tool calls becomes four lines, and each line repeats the same full usage. So the page keeps a reply only the first time it sees its message id and request id, across every file.
On my own folder: 1,338 files and 41,725 lines with usage, but only 17,945 real replies. That came to $2,625 at API prices from 27 July to 9 November. Counting every line would have said $6,322.
What makes it expensive
- Cache reads are most of the tokens. Each turn re-sends the conversation, mostly as cheap cache reads. On my folder they were 97% of all tokens. Long sessions grow every turn.
- Cache writes cost more than plain input. On my folder, 99% of cache writes were 1-hour writes, which cost 2 times the input price. Each model has its own cache, so switching models mid-session sends the whole conversation again.
- The model matters most. Compare the rows in “By model”. Opus 5.5 output costs $20 per million tokens and Sonnet 5.5 output costs $10.
Frequently asked
Where does Claude Code store usage?
In the session transcripts: one .jsonl file per session in ~/.claude/projects on Mac and Linux, or %USERPROFILE%\.claude\projects on Windows. Each reply from the model carries a usage block with its input, cache and output tokens and the model name.
I pay for Pro or Max. What does this number mean?
You pay your plan price, not this. The figure is what the same tokens would cost on the Claude API at standard prices. It is useful for comparing a plan against the API, and for seeing which days, models and projects use the most.
Why is my total lower than another calculator's?
Claude Code writes one reply as several lines, one per content block, and every copy carries the full usage of that reply. This page counts a reply once, by its message id and request id. On my own folder, counting every line instead gave a total 2.41 times too high.
Why are cache writes split into 1 hour and 5 minutes?
They have different prices. A 1-hour cache write costs 2 times the base input price and a 5-minute write costs 1.25 times. Recent Claude Code versions record which kind each write was, so the page prices them separately. Older transcripts give one number, which is priced at the cheaper 5-minute rate.
Is my data uploaded?
No. The page reads the files in your tab with JavaScript and has no server code that could receive them. To check, open devtools and watch the Network tab while it reads, or load the page, go offline, and run it then.
Why does it only go back about a month?
Claude Code deletes transcripts older than cleanupPeriodDays, which is 30 by default. The page can only count what is still on disk. Raise that setting if you want a longer history.
What is not included?
Fast mode, batch discounts, US-only inference and web search fees are not applied: replies are priced at standard rates. If a reply used fast mode, the page says so, because the real cost is higher. Models without a published price are counted but not priced.
Built by Himanshu Srivastava, a backend engineer in Bengaluru. The same folder can tell you more: check it for leaks with the Claude Code email leak checker, and check your settings with the settings secret scanner. Or see all the tools.