Token DB

Which project is burning your tokens?

Token DB reads the transcripts Claude Code already writes on your Mac and turns them into an answer: what you spent, where it went, and whether it is growing.

One command on a Mac:

curl -fsSL https://tokendb.app/install.sh | sh

Sign in What it does

Free while it is in beta · macOS today, Windows coming · Usage metadata only

How it works

  1. It reads what is already there

    Claude Code writes a transcript of every session, and each assistant message carries its own token counts. The recorder tails those files. It does not wrap the CLI, install hooks, or intercept anything — so it keeps working across Claude Code updates, and it can read your history from before you installed it.

  2. It sends counts, not content

    Token counts, the model, a timestamp, the project folder name and the git branch. That is the whole list. There is no field in the upload format capable of carrying a prompt, a reply, or a file — and tokrec watch --dry-run prints exactly what would be sent, before you send anything.

  3. You get the question answered

    Four views, one question each: is my spend growing, which project is burning it, which models cost what, and which machines are reporting. Cache reads are shown apart from input tokens, because they are billed at about a tenth of the rate and folding them together makes a cheap project look expensive.

What it will not do

Read your code

The recorder opens transcript files for reading and maps them onto a fixed set of fields, by hand, one at a time. A new field appearing in a future Claude Code release cannot start being uploaded by accident — there is nowhere for it to go.

Hold a password

Signing in from the terminal prints a code you approve in the browser. The device gets a write-only token, kept in the macOS Keychain, that can append your usage and nothing else: it cannot read your data, list your other machines, or change your account. Revoke it from the portal and it stops on its next request.

Guess

A day with no data is drawn as a gap, never as a zero, because "you did not use Claude Code" and "the recorder was not running" are different facts and Token DB cannot tell them apart. Costs are labelled estimates, with the date of the rate that produced them. A model with no price shows a dash, not $0.00.

Get started

Four commands on a Mac. Your existing history uploads on the first run, so the charts have something in them before you write another prompt.

Install the recorder