Supported agent
Your Claude Code usage, as a file in your repo.
tokenchit reads the Claude Code logs already on your machine and renders one embeddable card straight into your repository. The card is a file you commit, not a URL you depend on — nothing to rate-limit, nothing to go down.
$ npx -y @tokenchit/cli@latest generate --no-publishFree and MIT · Node.js 22+ · Local stats need no account.
This command sends nothing: --no-publish returns before any networking code loads. Bare generate ends by publishing — at a terminal it asks first, in a script or CI it does not. Publishing sends daily totals by agent and model, plus your handle, and never prompts, replies or file paths.
What it reads
Claude Code writes a JSONL transcript per session. Every profile directory is read, not just the default one, so a machine with more than one config still reports a single total.
~/.claude*/projects/**/*.jsonlNothing else is read. tokenchit sync and tokenchit recap send nothing — they make no network request at all, and five tests in the repo fail on every push if that stops being true. tokenchit publish holds the only code that uploads, and tokenchit generate ends by calling it: at a terminal it asks first, in a script or CI it does not. That is what --no-publish is for.
What it cannot tell you
Your total will be lower than the Stats panel's
Claude Code rewrites an assistant message in the transcript as it streams, and each rewrite leaves a usage record carrying the same growing figures — so one API call can appear several times. The Stats panel sums them as written; tokenchit collapses them to one row per call. On the machines measured the panel ran between 1.15x and 2.18x higher, and the factor moved day to day, so there is no constant to divide out. sync prints both figures and the gap rather than picking one for you.
Equivalent cost is not what you paid either. It is what these tokens would cost at list API rates, and most agent usage runs under a subscription where no per-token charge ever happens.
On the board, by claude code
Developers who chose to publish, ranked by claude code tokens over the last year. Figures are self-reported and bounded for plausibility, not audited.
| Rank | Developer | claude code tokens | Equiv. cost |
|---|---|---|---|
| 1 | @bucharitesh | 337B | $653,816 |
| 2 | @VinayakRai5 | 50.8B | $24,919 |
| 3 | @iyashjayesh | 34.1B | $17,802 |
| 4 | @manishreddy123 | 23.9B | $6,525 |
| 5 | @veerLakshya | 20.9B | $6,844 |
| 6 | @Parth080 | 19.5B | $10,874 |
| 7 | @pabssen1 | 14.8B | $11,162 |
| 8 | @crazyparadox | 12.1B | $9,113 |
| 9 | @Vivaansharma2003 | 11.1B | $6,573 |
| 10 | @Rupam-M | 10.1B | $4,790 |
The other agents
One command covers all of them at once, and the card shows the mix.
- Codex
~/.codex/sessions/**/rollout-*.jsonl - OpenCode
~/.local/share/opencode/opencode.db - Gemini CLI
~/.gemini/tmp/*/chats/*.jsonl
Detected and deliberately unsupported: Copilot CLI records only a live context gauge, so there is no per-call token count to read.
Read your own numbers
One command. It finds your agents, shows your stats and writes the card. The command shown cannot publish. Bare generate can, and in a script or CI it does so without asking, so keep the flag for a guaranteed local run.
$ npx -y @tokenchit/cli@latest generate --no-publishOr tokenchit sync on its own to see the figures without writing anything. Source at github.com/iyashjayesh/tokenchit.