Get started

  1. 1 npm i -g wtclaude then wtclaude setup

    installs WTClaude globally, so Claude Code’s statusline has a stable command to run; then setup wires up the statusline so WTClaude reads billing-grade data, and creates your local data dir — no login, no account.

    npm i -g wtclaude wtclaude setup

    Set up with 0.3.1 or earlier? Run npm i -g wtclaude, then wtclaude setup once: those versions wrote the statusline entry without "type": "command", which Claude Code needs to run it.

  2. 2 wtclaude today

    your real cost so far today.

  3. 3 wtclaude compare

    the reveal: your billing-grade number next to the broken-log number.

Requirements: macOS or Linux, Node, and the Claude Code CLI in your terminal. Free, MIT-licensed.

New in v0.3.1: Claude Opus 5.5 — Claude Code’s default model — is priced at $4/$20, with cache reads at $0.20 per million tokens; Claude Fable 5.1 is priced, including its cache reads at $0.25 per million tokens — a quarter of Fable 5’s, on the same base rates. wtclaude compare-models prices your usage across Opus 5.5 · Sonnet 5 · Fable 5.1, and wtclaude waste finds the context you’re paying for but never using.

WTClaude reads the statusline, which only the terminal CLI emits — the Claude desktop app and Cowork don’t run it. (Cowork already shows up in wtclaude compare-models as a labeled estimate; desktop-app tracking comes later.)

CLI reference

Everything the shipped CLI (v0.3.2) runs — run wtclaude <command> --help for the full flags on your install. Billing-grade = terminal Code, Anthropic-computed (not a guarantee of your invoice); everything else is a labeled estimate.

Everyday cost views

Your real spend, read from the statusline behind your bill.

today · week · month billing-grade
real cost, tokens, and model breakdown for the day / last 7 / last 30 days. Flags: --json, --csv, --clipboard, --since/--until, --group-by <project|branch|cost_center|task|device>, --currency <ISO>.
compare billing-grade
the reveal — your billing-grade cost next to the session-log estimate, and the gap. --days <n> widens the window; --share saves a shareable card to ~/Desktop.
report billing-grade
a monthly cost-center report: wtclaude report --cost-center. --month <YYYY-MM> picks the month.
session [id] billing-grade
list sessions (newest first), or per-turn detail for one id. Supports --json, --group-by, --csv, --clipboard.
project [hash] billing-grade
usage for one project (by hash), or a list of known projects. Supports --since/--until, --json, --csv.
blocks billing-grade
usage in fixed 5-hour UTC buckets on a set grid — not your limit window (for that, see limit). --limit <n> caps how many show.
limit billing-grade
your overall plan limit — % used + reset countdown, from Anthropic’s shared rate-limit bucket (it spans Code, Cowork, and Chat), so it’s your overall plan limit, not a Code-only number.
watch
a live terminal monitor: today’s cost, the current UTC 5h-block burn, and the plan-limit gauge with a basic, non-predictive time-to-limit. --once renders one frame; --interval <s> sets the refresh.

Models & forecasting

What your usage would cost on each model — every projection a labeled estimate.

compare-models estimate
new — re-prices your recorded usage across Opus 5.5, Sonnet 5, and Fable 5.1: what would this month cost on each? Split by surface (Code billing-grade · Cowork a labeled estimate · Chat excluded). It re-prices your recorded usage, not the same task run on each model. Free. --days <n>, --json.
whatif estimate
quick plan- and model-comparison math on your recent usage. Flags: --plan [plan] (on its own, every plan; or one of pro, max_5x, max_20x, team_standard, team_premium), --model <haiku|sonnet|opus|fable>, --days <n>.
fable estimate
reads your billing-grade Fable cost in the terminal and forecasts your pace at Fable list rates. Covers Fable 5.1 (Claude Code’s default Fable model since v2.1.257) and Fable 5. Fable is permanent and plan-conditional: on Max / Team Premium / Enterprise Premium it’s included up to 50% of your weekly usage limit (a share of that limit, not an allowance on top of it, and not a credits wallet); on Pro / Team Standard it bills usage credits from the first token, at $10/$50 — cache-read is $0.25 on Fable 5.1 and $1 on Fable 5, the one price that separates them. A labeled estimate — at standard API list rates; bundle discounts up to 30% and promos not reflected. --days <n>, --plan <plan>, --json.
forecast estimate
projected Agent-SDK spend from your recorded usage; if a revised split lands, it compares that against the credits the split includes. (The June-15 credit split it was built for was paused.) --days <n>, --json.
credits estimate
your fast-mode credit spend this month (billing-grade when Claude Code reports it, otherwise labeled inferred); the Agent-SDK credit pool shows as paused. WTClaude can’t read your usage-credit balance yet — check it in Claude’s usage settings. --json.
readiness estimate
a one-time credit-coverage check (built for the June-14 readiness window; the split was paused, so it reads as ready). --json.

Opus 5.5 is Claude Code’s default model since v2.1.280 (claude-opus-5-5). WTClaude prices it correctly — $4/$20, with cache reads at $0.20 per million, off the model’s own reported tokens, with no unknown-model gaps. Sonnet 5 stays at $2/$10 — the increase to $3/$15 once scheduled for September 1, 2026 was cancelled.

Insights

Beyond the dollars — where your context and effort actually go.

waste estimate
new — reveals the always-loaded skills and subagents you never invoke, and what re-reading them costs, computed at list cache-read rates (each item’s token size is a labeled estimate). CLAUDE.md files are listed as always loaded but not judged. A read-only reveal: it recommends a REVIEW, never removes or changes anything. --days <n>, --all, --json.
quality
your one-shot success rate — edits the model landed without a retry (file-aware, salted). The command ships; the edit-target field it reads isn’t in current Claude Code payloads yet, so today it reports “not available yet”. Supports --since/--until, --json, --csv.
debrief
an end-of-day summary — the day’s total with its cost basis, your costliest turn, and the cache-read share of your recorded input-side tokens (context occupancy, not a hit rate).
tasks coming soon
token/cost breakdown by task category — coming soon (the live payload doesn’t expose tool names yet, so categories aren’t populated).
badges
the usage badges you’ve earned.
leaderboard
your local leaderboard standing, plus a privacy preview of exactly what a share would expose. --json.

Sync & dashboard

Opt-in and local-first — nothing leaves your machine until you turn it on.

sync
opt-in cloud sync + multi-device totals. --status / --enable / --disable. Local-first — nothing leaves your machine until you enable it, and you see a preview of what would sync before it does.
dashboard
open the web dashboard in your browser — everything the CLI tracks, in one view.
devices
per-device usage from this machine’s session files — always a local-only view; with sync on, cross-device totals are on the dashboard. Supports --since/--until, --json, --csv.
share
manage anonymous data sharing for the leaderboard + benchmarks. --preview shows exactly what would be shared; --enable / --disable.
invite
generate a shareable invite link.

Setup & utility

setup
configure WTClaude — wires the Claude Code statusline and creates your local data dir — no login, no account. --plan <plan> (pro, max5, max20, team_standard, team_premium, enterprise_standard or enterprise_premium), --yes for non-interactive.
export
dump all local WTClaude data to JSON — everything stored about you. --out <file>, --pretty.
uninstall
remove the WTClaude statusline hook. --keep-data leaves your local data; --purge also deletes ~/.wtclaude/.
statusline
render the WTClaude status line from your latest turn — a preview of what the collector prints back into Claude Code.

Global flags: --json and --csv/--clipboard on the summary/report commands, and --currency=<ISO> for display-only conversion (USD stays the billing-grade source).

FAQ

Is it accurate? +

For Claude Code, yes — billing-grade. We read the statusline path, the same source behind your bill (Anthropic-computed, not a guarantee of your invoice). Forward-looking projections — the forecast, the Fable forecast, the cross-model comparison — are clearly-labeled estimates.

Does it track Cowork or Chat? +

Terminal Code is the billing-grade surface. `compare-models` also shows a Cowork row as a labeled estimate where its data is present, and excludes Chat (no local cost data) rather than showing a fake zero. Fuller Cowork/Chat coverage is on the roadmap, always clearly labeled.

Does it work with the Claude desktop app? +

Tracking requires the Claude Code CLI in your terminal — the statusline WTClaude reads only fires there. The desktop app and Cowork don’t emit it, so install via the terminal. (Cowork already shows up in wtclaude compare-models as a labeled estimate; desktop-app tracking comes later.)

Will it slow me down? +

No. The collector runs in the background, fire-and-forget. You won’t notice it.

Is my data private? +

Everything runs locally by default. Cloud sync is opt-in, with a preview before anything leaves your machine.

Is it free? +

Yes, and open-source (MIT). A paid Guardian intelligence layer is coming at $2.99/mo · $24.99/year (≈$2.08/mo — save 30%); the tracker stays free.

Who’s behind it? +

An independent project. Not affiliated with Anthropic.