Accuracy contract
Every figure in the UI carries one of four badges, and nothing is invented.
| Badge | Meaning |
|---|---|
| Actual | Read straight out of your transcripts: token counts, timestamps, models, effort, tool calls, file paths, session and project identity. |
| Estimated | Derived. Every dollar figure is estimated, because Claude Code transcripts contain token counts but no billed amount. Cost is tokens × the price table in config/pricing.json. |
| Forecast | Projected from your history, assuming the recent pattern continues. |
| Recommendation | Based on an observed share of your spend. No estimated saving is attached. |
Deliberately not fabricated
Section titled “Deliberately not fabricated”The following aren’t in Claude Code transcripts, so the dashboard shows “Unavailable from connected Claude data” instead of guessing:
- Plan tier, allowance and remaining credits
- Message and request allowances
- Billed invoice amounts
- Assistant response text (only usage metadata is extracted)
- Lines changed, commits, pull requests, bugs fixed
You can declare several of these yourself in configuration. Once you do, the usage-vs-limit and days-until-limit projections appear, labelled as your own figures.
Definitions
Section titled “Definitions”- billable_tokens: input + output + cache read + cache write. Agentic coding is dominated by cache reads, so this number is large by nature.
- context_tokens: input + cache read + cache write, i.e. the prompt side of one request.
- latency: the gap to the preceding message. Gaps over 15 minutes count as idle time and are discarded.
- Uncached counterfactual: what the same tokens would have cost with no cache at all. It’s shown for context and labelled “not a saving”.
- Prompt categories: assigned by keyword rules that you can inspect. Each prompt records the terms it matched and a confidence score. Short steering turns that match no rule (“do that”, “fix all”) are follow-up.
- Days: your local calendar days. Claude Code stamps transcripts in UTC; finops converts them. Billed vs local is the exception: it compares on UTC days, as the vendors report them.