The direct answer

For the selected Claude Messages accounting profile, retain input_tokens, cache_creation_input_tokens and cache_read_input_tokens separately and add them for total input. The uncached field alone is incomplete when caching contributes input; that token total is still neither a final bill nor permission to release a budget hold.

Keep the input ledger separate from a bill

A fictional application receives usage associated with one authorized note-summary attempt AT-A. Its dashboard displays input_tokens and calls that the whole prompt size. That interpretation can hide most of the input when prompt caching is involved, even if the arithmetic itself is correct.

This worksheet selects one complete supported ordinary, nonstreaming Claude Messages result and its input-category accounting. It excludes batches, stream accumulation, tools, output accounting, mixed-duration pricing and invoices. The shared reservation guide still governs allowances and uncertain charges; no usage total independently grants another dispatch.

All eight cards are PROPOSED_UNRUN. The counts are invented teaching quantities, not observed tokens, a cache-size recommendation, provider performance or savings. No prompt, usage response or API fixture was constructed.

Read each field according to the selected source

The actual Claude prompt-caching guide defines cache_creation_input_tokens as newly written cache tokens, cache_read_input_tokens as retrieved cache tokens and input_tokens as input neither read from nor used to create cache. Its “Understanding the token breakdown” section explicitly calculates total input as the sum of those three fields. Thus input_tokens alone is not the complete cached-request input.

Preserve that semantic partition in the application record. Do not rename the uncached field “all input” during normalization, then later add a cache discount to an already incomplete amount. An internal generic field named input is ambiguous unless its meaning is versioned and reviewed.

The guide was read on 1 November 2026 as a live document, without a pinned revision marker here. That observation establishes neither a deployed client nor a particular account, model, response version or price. Actual endpoint and adapter applicability remain unknown.

Associate one complete receipt before adding quantities

Invent protected intake record U-A, tying AT-A to its owned request record, expected endpoint/profile, response provenance and accounting policy P-A. Those are metadata labels only. A model-generated attempt label or a dashboard row cannot select the accounting owner.

Require separately supported evidence of a complete applicable usage record. The application must validate the required counts as bounded, nonnegative integers under its reviewed schema, excluding booleans and coerced strings. Absence is not zero under this stricter policy. Unknown versions or incomplete response evidence hold reconciliation rather than producing an attractive partial total.

These are proposed intake restrictions, not a parser or transport implementation supplied by the caching guide. Keep the original category names and association through downstream handoff. If an adapter has already discarded a category, arithmetic cannot recover it from prompt length guesses or a cache-hit badge.

Use an original category-preserving receipt

PROPOSED_UNRUN — invented accounting labels
Receipt U-A / attempt AT-A / policy P-A
Uncached input: 2000
Cache creation input: 5000
Cache read input: 3000
Input-category total: 10000
Output / tools / monetary amount: outside this worksheet
Reservation settlement: independently unresolved

The elementary sum is 2000 + 5000 + 3000 = 10000. Displaying only 2000 omits 8000 input-category tokens in this invented ledger. Calling the omitted portion “saved tokens” would confuse accounting categories with a measured benefit.

The small sketch identity 20 + 50 + 30 = 100 demonstrates the same arithmetic only; it is not an assertion that a real cached request can have those counts. The larger receipt is likewise hypothetical. An actual positive requires supported caching and response applicability rather than assuming any numbers are achievable.

The useful conditional positive preserves U-A, all three admitted counts and their total for later supported accounting. Retaining the categories matters because a single total cannot recreate their separate meanings. It still does not establish what any organization owes.

Do not make cache reuse erase attempts or uncertainty

Keep a separately coordinated one-time intake disposition for AT-A. If the same receipt arrives twice, the proposed ledger must not count it twice. That requirement is application design; a correlation label alone supplies no atomic deduplication implementation.

A distinct retry AT-B remains a separate attempt even when its permitted prompt is identical. Do not merge its record with AT-A merely because both show cache reads. Conversely, missing usage for an attempt stays unresolved. A later complete record for another attempt cannot settle that uncertainty.

Money requires its own complete charge categories, applicable rate evidence and exact arithmetic. A change to batch mode, duration pricing, tools or response structure leaves this narrow intake profile. Do not flatten nested or unfamiliar counters into the three-field sum by guesswork. The separate arithmetic contract cannot repair an incorrect semantic mapping.

Walk eight input-accounting cards

Original U-A worksheet; every card PROPOSED_UNRUN
ConditionRequired disposition
Supported complete U-A with 2000 uncached, 5000 creation and 3000 readConditionally preserve three categories and total10000; no bill or dispatch result.
Dashboard labels only2000 as whole inputReject that interpretation; retain the missing categories.
Cache-read count is nonzero while uncached count is also nonzeroDo not replace either with zero because a cache-hit label appears.
A required counter or applicable schema evidence is missingHold unknown, without coercing absence to zero.
Same U-A/AT-A receipt appears againUse supported coordinated intake; do not add a duplicate.
AT-B retries with familiar prompt contentsRetain separate attempt association; content equality is not accounting identity.
Nested totals, duration pricing, output or other charges enter the calculationStop at the selected boundary; no guessed whole bill.
A complete input ledger is offered as permission or privacy proofReject the authority expansion; check those requirements independently.

Name the evidence that remains unavailable

Actual endpoint/version, complete response provenance, bounded intake schema, attempt association, duplicate coordination and downstream handoff are unimplemented or unknown. Those gaps block the real positive. No category total proves a spending ceiling, current workspace rights, cache confidentiality, retention or model answer quality.

For these proposed cases, no client, provider cache, tokenizer, response parser, usage calculator, model, billing or account operation was exercised. Documentation reads and ordinary editorial file handling are separate. Boundary is prelaunch and does not ship or certify this usage reconciler. Its existing synthetic policy evidence concerns different behavior.

Primary sources

Official references supporting the guidance. Examples in this guide are synthetic and are not reports of a production incident.

  1. Claude Platform Docs — Prompt caching, tracking cache performance and token breakdown