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
that's the whole install
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.

~/.claude/settings.json
{ "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 — $3

One-time. Billing by Stripe.

Also from a-gnt Page — your AI's way to reach you Gauge shows what your agents spent. Page lets them reach your phone when they finish — or need a decision.