Skip to main content

Understanding usage and cost reports

Use a PR's Usage and cost section to see the reported model work and its estimated cost. Read the coverage note before comparing totals: a report may cover part of a session, omit tools, or lack attribution to individual commits.

What the columns mean​

ColumnMeaning
ReportModel and contribution, such as implementation or review. ×5 means five reports share that row.
USDEstimated list-price cost, Pi's recorded nominal cost, or OpenRouter's reported account charge. Read each report's pricing note; the mixed total is not an invoice.
Codex creditsEstimated OpenAI Codex plan credits, separate from the USD estimate.
InputTokens sent to the model. Hosts differ in whether cached tokens are included.
Cached inputInput read from the prompt cache. Supported rate cards price cache reads separately from uncached input.
OutputTokens generated by the model. Several hosts include reasoning in this count.
ReasoningTokens reported as reasoning. This can be a subset of output; do not add it again.
Cache writesInput stored in the prompt cache for reuse.

Implementation rows come first, then review, integration, and shared planning, each sorted alphabetically by report name.

A column with no measured value is omitted. — means unreported, never zero. + marks a minimum when some usage or cost is unreported. Token counts are rounded for readability: 45.3M means about 45.3 million tokens. The stored records retain the original counts.

The total row adds cost and credit estimates. It leaves token totals blank because hosts count tokens differently. Two retained reports can overlap, so a sum can count the same response twice; a minimum marker does not guarantee that the reports are disjoint.

Compare host counters carefully​

HostInput accountingOutput accounting
CodexIncludes cached inputIncludes reasoning
Claude CodeExcludes cache reads and writesIncludes reasoning
CursorIncludes cache reads and writesReasoning is unreported
OpenCodeExcludes cache reads and writesReasoning is counted separately
PiExcludes cache reads and writesIncludes reasoning
OpenRouterIncludes cached inputIncludes reasoning

For example, a Codex row with 100,000 input tokens and 80,000 cached input tokens has 20,000 uncached input tokens. A Claude row with 20,000 input tokens and 80,000 cached input tokens describes the same input quantities. Do not add a Codex row's cached input to its input again. OpenCode's native total includes input, output, reasoning, and cache tokens; Cursor's native total is unreported.

How estimates are priced​

Each report uses the rate card available when it was measured. Carrying it to a later PR revision preserves that estimate; it does not apply newer prices. The PR retains its rate-card origin, verification date, and source links so older estimates can be interpreted after prices change.

OpenAI reports distinguish standard Codex plan credits from API-equivalent USD estimates. Cursor estimates use its on-demand list prices. Anthropic estimates charge uncached input, cache reads, and cache writes separately. A one-hour cache write costs more than a five-minute write. Supported Opus fast-mode responses use their published fast-mode rates. Standard-speed responses use standard rates. Fast-mode responses without a published rate remain unpriced. Pi uses its recorded nominal USD instead of repricing it. OpenRouter uses the response's reported account charge in USD credits instead of direct DeepSeek list prices. Missing counters or cost remain UNKNOWN. A paid incomplete response can still contribute reported cost without establishing a completed review; a timeout without response metadata has unknown per-call cost.

Shaka leaves unsupported models or incomplete billing categories unpriced. A partially priced report keeps the known estimate with a + marker and a reason for the missing amount. The PR's original pricing references apply to its recorded estimate; current provider prices may differ.

Read the limitations beside the numbers​

PARTIAL means the native records do not establish complete task usage. The report states its selected interval and whether reviewer or tool usage was included. Cursor reports exclude subagents. UNKNOWN means available records do not establish a value or attribution.

For example, “implementation spans five rebased commits; per-commit allocation is unavailable” permits a task estimate, but does not establish each commit's cost. Historical reviews retain the commit they reviewed; they do not become reviews of the latest revision.

Ask the agent:

Explain which work this PR's usage covers, what is missing, and whether any reports overlap before comparing its total with another PR.

PR verification explains how to assess the change and its validation evidence. Ask your agent to disclose missing records and shared attribution when reporting usage.