Local web dashboard for AI coding agent token usage and cost. Reads Claude Code, Codex, and Pi session logs, aggregates tokens and dollars, and lets you slice the data interactively.
npx tokens-goneThat's it — it builds nothing on your machine, starts a local HTTP server,
and opens your browser at the dashboard. Subsequent runs reuse the on-disk
parse caches (~/.cache/tokens-gone/*.json), so warm scans are sub-second even
with thousands of session files.
-p, --port <n> Port to listen on (default 27821, or $PORT)
--no-open Don't open the browser
-h, --help Show help
-v, --version Print version
CLAUDE_CONFIG_DIR— override the Claude data dir (default~/.claude).CODEX_HOME— override the Codex data dir (default~/.codex).PI_CODING_AGENT_DIR— override the Pi agent dir (default~/.pi/agent).PI_CODING_AGENT_SESSION_DIR— override the Pi sessions dir directly.PORT— same as--port.
ccusage works but is slow (tens of seconds on real data) and refetches
LiteLLM pricing every run. tokens-gone is the same idea but:
- Cold scan: ~8s for 1.7GB of JSONL (5000+ files); warm: ~700ms.
- Hardcoded Anthropic pricing — no network requests, ever.
- Browser UI with click-to-filter on charts, models, projects, sessions.
server/providers/*walk provider-specific JSONL directories, parse logs streamingly, and cache parsed entries on disk keyed by(path, size, mtime). Unchanged files are reused verbatim; appended files are tail-parsed.server/pricing.tsresolves Anthropic Claude pricing by model name substring (matchesclaude-opus-4-7,anthropic/claude-sonnet-4-6, etc.), with tiered pricing for Sonnet >200k and a 6× fast-mode multiplier for Opus.server/server.tsexposes/api/data(gzipped) and/api/refresh.- The SPA loads all entries once and re-aggregates client-side on every filter change — fast enough for ~300k entries.
Requires Bun for the dev/test loop. The published package runs on plain Node 20+.
bun install
bun run dev # backend on :27821 + vite on :5173 (open :5173)
bun run dev:server # just the backend (--hot)
bun run dev:client # just vite
bun test
bun run typecheck
bun run build # vite build + esbuild bundle of the server CLIMIT