vibestats · open source

Your full Claude Code and Codex usage, in one dashboard.

100% local. Zero outbound network calls. A GitHub-style heatmap of your entire usage history, with per-model token counts, prompt cache breakdown, and a value multiple that compares your usage against what you actually pay.

What the built-in widget leaves out.

vibestats stitches together every transcript on disk — past and present — so you can see how you actually use the model.

Sees your archived projects

Reads the archived projects that the built-in /stats widget can't see, so your full history actually shows up.

Every tool, every day

Per-day token and cost breakdown across Claude Code, Codex, and claude.ai web chats — side by side in one timeline.

Local-only by design

No telemetry, no auto-update ping, no analytics. Your transcripts never leave your machine.

One page, your whole history.

Heatmap on top, model breakdown and per-day cost on the bottom. Open it in a browser tab and treat it like a dashboard.

dashboard.html

Install it however you install things.

Both routes generate the same static dashboard from the JSONL logs already sitting in your home directory.

npm
$ npx @trebeljahr/vibestats

No install. Runs in place, drops the dashboard in the current folder.

Homebrew
$ brew install trebeljahr/tap/vibestats

Installs the CLI globally so you can re-run it later.