Are you TokenMaxxing hard enough? Find out in less than a minute →

TokenJam Lens

See exactly where your agent tokens go — and what's recoverable — without leaving your machine.

The heart of Lens is its explorer. Pick a metric × dimension × chart and read that exact slice of your usage. One pivot covers spend by model, tokens over time, or tool calls by category, with presets and CSV export built in. It's the dashboard tj serve gives you, running locally with no signup and nothing sent to a cloud.

127.0.0.1:7391/#/dashboard
TokenJam Lens dashboard — recoverable-waste triage tiles, health-at-a-glance, and the embedded explorer with a spend-by-model chart

One chart, every slice

Static cost dashboards give you the views their authors thought of. Lens gives you the pivot. Want spend ranked by model? Two dropdowns. Tool calls over time? Two more. Pick the metric, the dimension, and the chart, and the answer is on screen. Presets like Spend by model and Cost leaderboard jump straight to the common ones, Export CSV hands the same slice to your own tooling, and the Analytics tab opens this explorer full-screen.

127.0.0.1:7391/#/dashboard
Lens explorer configured as a spend-by-model leaderboard over the last 90 days
Spend × Model, ranked. This is where the tokens concentrate.
127.0.0.1:7391/#/dashboard
Lens explorer configured as a tool-usage leaderboard by event count
Events × Tool category. Same pivot, a different question.

Your triage front door

The Dashboard is the default landing view. What used to be a separate Overview page now lives here, so the first screen answers a simple question: where am I, and what should I look at next? A recoverable-waste band carries one tile per analyzer (Downsize, Cache, Script, Reuse, Trim), each tagged Estimated, each showing its finding or a clean ✓ 100% cache efficacy when there's nothing to recover. Above it, a health row tracks unread alerts, agents drifting from baseline, budgets at risk, and recent activity. Click a waste tile and it expands in place, no page hop, with the explorer sitting right below. New analyzers show up on their own, since the band is registry-driven.

Cost, with the math shown

Spend over time as a real chart, paired with a Caching card so a cache-heavy window stops being a mystery. You see the hit-rate, the cached reads, and how much cached volume ran each day, with a note that cached input bills at about a tenth of the normal rate. The per-day table breaks the numbers down by agent or model: input, output, CACHE R, CACHE W, total cost. Projections carry the caption "linear run-rate, not a forecast." Lens never claims to predict.

127.0.0.1:7391/#/cost
Lens cost page — spend-over-time chart, caching card, and the per-day cost table in tokens

Trace any session down to the span

Open a session for the cost-annotated waterfall. Every span is laid out by magnitude, toggleable by tokens or by duration, with a per-span cost column down the side. Hover a span and the call detail comes up: provider, model, input and output tokens, cache read and write. The one expensive span in a long run stops hiding.

127.0.0.1:7391/#/traces
Lens traces page — cost-annotated span waterfall with per-span token detail on hover

Get started

No signup, nothing to configure. tj onboard backfills your last 30 days of Claude Code sessions, so the dashboard opens at 127.0.0.1:7391 already full of your own data.

install
$ pipx install tokenjam
$ tj onboard --claude-code
  → backfills your last 30 days of Claude Code sessions
$ tj serve
  → open http://127.0.0.1:7391/

Curious where you'd land? Are you TokenMaxxing hard enough? finds your tier in under a minute. Source on GitHub, full Web UI reference in the docs.

Get TokenJam updates