Now measuring Claude Code, Cursor & Codex spend

Your AI bill doubled.
Nobody can say why.

Your coding agents already write a log of every call they make. llmreceipts reads those logs and hands you an itemized receipt โ€” which dollars were wasted, what caused it, and the exact line to fix.

$ npx llmreceipts scan

Read-only ยท runs locally ยท never sees your API keys

The output

One command. One honest number.

A real receipt from a 14-engineer team's first scan. Every line is computed from the token counts already in their logs โ€” not estimated, not sampled.

acme-platform / all-repos JUL 2026
Wasted spend
$1,637
38.8% of everything you paid for last month
Total spend
$4,218
Recoverable now
$1,274
6 fixes, all one-line
Calls analyzed
128,403
Engineer-hours lost
41h
waiting on wasted calls
Where the wasted $1,637 went
By cause, July 2026 ยท hover any bar for the fix
$612 โ€” your system prompt is rebuilt every call, so nothing caches. Pin the prefix.
Cache misses on a stable prefix$612
$364 โ€” 9,100 calls sent an identical prompt twice within 60s.
Duplicate & repeated calls$364
$298 โ€” top-tier model used for lint fixes and commit messages.
Over-powered model for the task$298
$187 โ€” whole files read into context, then never referenced in the answer.
Context bloat (never read)$187
$121 โ€” a bare except retried failing calls up to 5ร—.
Retry storms$121
$55 โ€” output generated, billed, then discarded when the turn was cancelled.
Abandoned turns$55
View as table
CauseWastedShare
Cache misses on a stable prefix$61237.4%
Duplicate & repeated calls$36422.2%
Over-powered model for the task$29818.2%
Context bloat (never read)$18711.4%
Retry storms$1217.4%
Abandoned turns$553.4%
Total$1,637100%
Billed vs. useful

The gap is the product.

The top line is what you paid. The bottom line is what actually moved work forward. Everything between them is the money llmreceipts hands back to you.

Cumulative spend, billed vs. productive
Feb–Jul 2026, real months · hover any month for the split
Billed$16,948 Productive$10,410 Wasted$6,538
Cumulative billed spend versus productive spend, February to July 2026 Billed spend reaches $16,948 while productive spend reaches $10,410. The $6,538 gap is wasted spend, 38.6% of the total. Full values are in the table below. $0 $5,000 $10,000 $15,000 Feb Mar Apr May Jun Jul $6,538 wasted Billed $16,948 Productive $10,410 Feb 2026 ยท cumulative Billed $1,180 ยท useful $732 Wasted $448 (38.0%) Mar 2026 ยท cumulative Billed $3,120 ยท useful $1,936 Wasted $1,184 (37.9%) Apr 2026 ยท cumulative Billed $5,730 ยท useful $3,544 Wasted $2,186 (38.2%) May 2026 ยท cumulative Billed $8,970 ยท useful $5,528 Wasted $3,442 (38.4%) Jun 2026 ยท cumulative Billed $12,730 ยท useful $7,829 Wasted $4,901 (38.5%) Jul 2026 ยท cumulative Billed $16,948 ยท useful $10,410 Wasted $6,538 (38.6%)
Billed, 6 months
$16,948
Wasted
$6,538
38.6% of billed
Still recoverable
$5,092
Already fixed
$1,446
shipped in July
View as table
Month (cumulative)BilledProductiveWastedWaste %
Feb 2026$1,180$732$44838.0%
Mar 2026$3,120$1,936$1,18437.9%
Apr 2026$5,730$3,544$2,18638.2%
May 2026$8,970$5,528$3,44238.4%
Jun 2026$12,730$7,829$4,90138.5%
Jul 2026$16,948$10,410$6,53838.6%
How it works

No proxy. Nothing in your critical path.

Every other cost tool asks you to route production traffic through their servers. llmreceipts never touches a live request โ€” it reads files that are already on disk.

Point it at your logs

Claude Code, Cursor and Codex each write a session transcript locally, with exact input, output, cache-read and cache-write token counts per call. That's the raw material.

We grade every call

Deterministic rules โ€” prompt hashing, prefix-stability analysis, task-to-model matching. No guessing, no LLM judging your LLM. Every dollar traces to a call ID.

You get a ranked fix list

Sorted by dollars recoverable, each with a file and line. Ship the top two and the next receipt proves it worked.

What it catches

Six ways teams burn money without noticing.

All six are computable from the logs. That's the bar โ€” if we can't prove it, we don't bill you for finding it.

Cache

Broken prompt caching

A timestamp or shuffled tool list at the top of your prompt silently invalidates the cache on every single call. Usually the single biggest line.

Duplicates

The same call, twice

Prompt-hash collisions inside a short window โ€” agents re-asking a question they already paid for.

Routing

Wrong model, right answer

Frontier-model pricing for commit messages, lint fixes and file renames. Same result, a tenth of the cost.

Context

Context nobody read

Whole files pulled into the window, billed in full, never referenced in the response. Also: the same file re-read nine times in one session.

Retries

Retry storms

Error handling that quietly bills you five times for one failure โ€” and the agent loops that turn 6 calls into 40.

Waste

Abandoned output

Tokens generated, charged, then thrown away when a turn was cancelled or a tool result was truncated unread.

Why this is different

Your provider's dashboard tells you what you spent.

It will never tell you which line of your code is wasting it. That's the whole product.

โœ“

We never hold your keys

No base-URL swap, no gateway, no secret handed to a vendor you met last week. Read-only, on your machine.

โœ“

Zero latency added

We're not in the request path, so we can't slow you down or take you down. Uninstalling changes nothing about how your app runs.

โœ“

Fixes, not dashboards

Not another chart of your spend going up. A ranked list of things to change, each with the dollars it gives back.

Find out what your number is.

We're onboarding a first group of teams spending $2k+/month on coding agents. First scan is free, and it takes about a minute.

No card, no call. We'll send the CLI and a sample report.