The claim
The platform tells the user, in the Usage page's own words
(store/console/src/pages/Usage.tsx:276):
The Claude Code engine's own spend, shown as "Coding engine (measured)". It runs on your
machine, so the CLI reports what each turn cost and that figure is used as-is — the one line
here that is a measurement rather than an estimate.
and again in the page intro (:159):
Most rows are estimated from list prices on your own key (BYOK) — not a bill. Coding-engine
rows are the exception: the CLI reports what it actually spent.
Anthropic's documentation says the opposite
From Manage costs effectively:
Claude Code computes the dollar figure locally from token counts priced at standard list
rates, so it doesn't reflect promotional pricing or contracted discounts and may differ from
your actual bill. For authoritative billing, see the Usage page in the Claude Console.
Claude Max and Pro subscribers have usage included in their subscription, so the session cost
figure isn't relevant for billing purposes.
total_cost_usd is tokens × list price — precisely the same construction as our own
ai-pricing.ts estimate. The only difference is whose process did the multiplication.
So the engine row is not "the one measurement on the page". It is an estimate like every other row,
and it is the row most likely to correspond to no charge at all, because subscription-
authenticated engine work is the normal configuration.
The label reads Coding engine (measured). It is the least authoritative number on the page.
Three places assert this, and they reinforce each other
-
store/console/src/pages/Usage.tsx:159 and :276 — user-facing copy, quoted above.
-
workers/api/src/lib/usage.ts:135-141 — the docstring on recordEngineUsage:
this is the one figure in the ledger that is a measurement — re-deriving it from
ai-pricing.ts list prices would replace a real number with a worse one (and would get it
wrong anyway, since the CLI knows about subscription pricing, service tiers and 1h-cache
rates that the price table does not model)
"The CLI knows about subscription pricing" is the load-bearing false statement. It does not —
the docs say list rates, and that subscribers' figure is not billing-relevant. This sentence is
why the number was given authority, and it will regenerate the bug if left standing.
-
workers/api/migrations/0080_ai_usage_cost_source.sql — the schema comment:
that figure is the real thing rather than our arithmetic
NULL vs 'reported' is a fine distinction to record. The comment then tells every future reader
that one of them is real money, which is what turned a provenance flag into a licence to
enforce.
The irony worth naming: #270 was closed by making this claim more prominent. #270's complaint
was that engine spend was invisible; the fix surfaced it and promoted it to "measured". A page
built to be more honest became less so.
Fix
Say the true thing, in all three places:
- Both figures are estimates at list prices. Ours and the CLI's. Neither is a bill.
- What differs is who pays — which is the ticket above (payer attribution), and the number a
user actually wants.
- Point at the authoritative source per payer, as the docs do: the
Claude Console usage page for API spend; claude.ai for
subscription plan usage. Do not present our figure as a substitute for either.
- Retire the
(measured) label.
- Keep the genuinely useful caveat that is already there and correct: Codex and Grok report no
usage, so their spend appears nowhere.
Copy that would be true today, before payer attribution lands:
Everything here is estimated from published list prices — ours for platform calls, Claude
Code's own arithmetic for coding-engine rows. Neither is a bill. If a coding session signed in
with your Claude subscription, that row cost you nothing; it is shown because the tokens are
real. For what you were actually charged, see your provider's dashboard.
Verification
- No surface — page copy, code comment, migration comment, or column label — describes any cost
figure as measured, actual, or real spend.
- The claim that Claude Code models subscription pricing appears nowhere.
- A grep for
measured in the usage surfaces returns nothing that survives review.
Related
The claim
The platform tells the user, in the Usage page's own words
(
store/console/src/pages/Usage.tsx:276):and again in the page intro (
:159):Anthropic's documentation says the opposite
From Manage costs effectively:
total_cost_usdis tokens × list price — precisely the same construction as our ownai-pricing.tsestimate. The only difference is whose process did the multiplication.So the engine row is not "the one measurement on the page". It is an estimate like every other row,
and it is the row most likely to correspond to no charge at all, because subscription-
authenticated engine work is the normal configuration.
The label reads
Coding engine (measured). It is the least authoritative number on the page.Three places assert this, and they reinforce each other
store/console/src/pages/Usage.tsx:159and:276— user-facing copy, quoted above.workers/api/src/lib/usage.ts:135-141— the docstring onrecordEngineUsage:"The CLI knows about subscription pricing" is the load-bearing false statement. It does not —
the docs say list rates, and that subscribers' figure is not billing-relevant. This sentence is
why the number was given authority, and it will regenerate the bug if left standing.
workers/api/migrations/0080_ai_usage_cost_source.sql— the schema comment:NULL vs
'reported'is a fine distinction to record. The comment then tells every future readerthat one of them is real money, which is what turned a provenance flag into a licence to
enforce.
The irony worth naming: #270 was closed by making this claim more prominent. #270's complaint
was that engine spend was invisible; the fix surfaced it and promoted it to "measured". A page
built to be more honest became less so.
Fix
Say the true thing, in all three places:
user actually wants.
Claude Console usage page for API spend; claude.ai for
subscription plan usage. Do not present our figure as a substitute for either.
(measured)label.usage, so their spend appears nowhere.
Copy that would be true today, before payer attribution lands:
Verification
figure as measured, actual, or real spend.
measuredin the usage surfaces returns nothing that survives review.Related