Skip to the page
Tecyfy

See how much of your Claude Code usage was re-reading context

ReRead is a free command that shows where your coding agent's usage goes, from the files on your own machine.

It is open source. It reads the session files Claude Code, Codex and Antigravity already keep, and opens a report in your browser: how much of your usage was sending the conversation again, when the prompt cache was lost and why, and which sessions cost the most. Nothing is uploaded and it needs no account. It can also count down the cache in Claude Code's status line or your editor's status bar, so you see it go cold before the next reply pays for it.

Run it in 3 ways

  1. 1

    Open your report

    In a terminal, with Node.js 20 or newer. It reads the last 30 days and opens the report in your browser.

    npx reread-cli
  2. 2

    Watch the cache in Claude Code

    Install it once with npm install -g reread-cli, then add this line to ~/.claude/settings.json. The status line shows the context size and how long the cache stays warm.

    "statusLine": { "type": "command", "command": "reread statusline" }
  3. 3

    Or in your editor

    The extension shows the same countdown in the status bar of VS Code, Cursor or Antigravity, and opens the report in a tab. Paste this into Quick Open (Ctrl+P, or Cmd+P on a Mac) in VS Code.

    ext install hamperpick.reread

What the report shows

The ReRead report: 52% of your Claude Code usage was re-reading context, split into reading history from the cache, writing history again and everything else, with 4 key findings below.
The top of the report, made from sample data. Below it come the days, context sizes, why the cache was lost, projects, models and every session.

Why so much of your usage is re-reading

A model keeps nothing between replies. So every reply in a session sends the whole conversation again: your messages, its answers, every file it read and every command output. Prompt caching makes that cheaper. A history read from the cache costs a tenth of the normal input price, and every read keeps the cache alive for its lifetime again.

A tenth still adds up. In a session whose context has grown to 150,000 tokens, each reply reads those 150,000 tokens again, so 100 replies read 15 million tokens from the cache: as much as 1.5 million tokens at the full input price, 10 times the conversation itself. That is the re-reading ReRead measures, and in a long session it is often the largest part of the bill.

Losing the cache costs more. After a break longer than its lifetime, a switch of model, or a change near the start of the context such as a new MCP server, the next reply writes the whole history to the cache again at 1.25 times the input price, or 2 times for the 1-hour cache. At 150,000 tokens that one reply costs as much as 12 to 20 replies read from the cache. ReRead counts each time it happened, says which cause it was, and shows where in each session.

It works from the token counts each tool already writes to its session files, weighed by the API price of the model that made each reply. It never keeps or prints what you or the agent wrote, and makes no network requests.

Questions

Why is my Claude Code usage so high?
Mostly because every reply sends the whole conversation again. Late in a long session, a one-line question carries every file read and command output with it, so each reply costs more than the last. ReRead shows how much of your usage that was and which sessions drove it. Starting a fresh session for each task with /clear is the biggest single saving.
How long does Claude Code's prompt cache last?
An hour on a Claude plan, dropping to 5 minutes once you draw on extra usage credits, and 5 minutes by default with an API key. Each reply that reads the cache starts its lifetime again, so the cache only goes cold after a break longer than that. The next reply then writes the whole conversation to the cache again. ReRead's status line counts down to that moment.
Why was my Claude Code cache rebuilt?
For one of 3 reasons: a break longer than the cache's lifetime, a switch of model in the middle of a session (each model has its own cache), or a change near the start of the context, such as adding an MCP server or a plugin. ReRead names the cause of each rebuild and what they cost together.
Does ReRead upload my code or conversations?
No. It reads only the token counts, model, time, folder name and git branch of each reply in the session files on your machine. It never keeps or prints what was written, makes no network requests and has no dependencies. The report is one HTML file in a private folder on your computer.
Does ReRead work with a Claude Pro or Max plan?
Yes. Claude Code keeps the same session files whichever way you sign in. Plans measure usage their own way, so the dollar figures are what the same tokens would cost on the API, and the shares show where your usage goes.
Does it work with Codex and Antigravity?
Yes. ReRead reads Codex's and Antigravity's session files next to Claude Code's, prices each at its maker's API prices, and shows them together or one at a time with --tool codex or --tool antigravity. The cache countdown is for Claude Code.
How is ReRead different from ccusage?
ccusage counts the tokens you used and what they cost, by day, month or session. ReRead explains why: how much was re-reading the conversation, when and why the cache was lost, and how much came from long contexts. Both read the same local files, so they work well side by side.