For people on Claude Code and Codex plans
You'd be spending what on tokens?
Gauge is a local meter for your AI coding subscription. One command reads the transcripts Claude Code and Codex already write and shows your burn by project, session, model, day, and 5-hour window. Nothing leaves your machine.
npx github:joey-io/gauge
$ npx github:joey-io/gauge last 5h $42.30 ▕██████░░░░░░░░░░▏ 18% of peak last 7d $915 peak 5h window $233 by project, 7d a-gnt $312 ▕█████████░░░▏ pager $189 ▕██████░░░░░░▏ masthead $121 ▕████░░░░░░░░▏ radar $88 ▕███░░░░░░░░░▏ by model, 7d opus $598 sonnet $317 API-equivalent dollars — a measure, not your bill. Data stays local.
One screen
Where the allowance actually went.
Claude Code writes a transcript of every session. Gauge reads them, dedupes them down to real API messages, and answers the question your invoice can't.
By project
Which repo is eating the plan. Subagent transcripts nest several directories deep and hold roughly half the spend — Gauge walks all of them.
By 5-hour window
Your last five hours against the biggest window you've ever had — the observed ceiling, labeled as such, since vendors don't publish the real limits.
By day and model
Daily bars for the last 14 days and a per-model split, so a heavy week explains itself instead of surprising you.
Always in view
A statusline for Claude Code. A section for Codex.
gauge statusline prints one line for Claude Code's statusLine slot — measured burn beside the official plan percentages. Codex rollouts get their own section, because it's a separate plan's quota.
{ "statusLine": {
"type": "command",
"command": "gauge statusline" } }
5h $42.3 · 18% of peak · 7d $915 · top a-gnt · plan 5h 18% wk 43%
Codex, counted honestly
If you use Codex, Gauge reads the rollouts in ~/.codex/sessions too.
Per-turn token deltas are keyed so a forked or replayed session can't double-count,
and the Codex numbers never mix into the Claude ones.
A model with no published list rate shows token counts — never invented dollars.
How it counts
A measure, not a bill.
API-equivalent dollars
What your usage would cost at published API rates — the only honest common currency, since plans don't publish their quota mechanics.
Deduped, not naive
Transcripts repeat messages across streamed chunks and session resumes. Gauge dedupes by message id — naive line-summing over-counts badly.
Local, full stop
No account, no telemetry, no network calls. Node 22.5+ with the built-in sqlite — zero npm dependencies.
License
MIT. Every feature included.
If Gauge earns a spot in your terminal, a $3 license says thanks. The key verifies offline, and the only difference is that the licensed copy stops saying unlicensed.
Buy a license — $3One-time. Billing by Stripe.