See exactly where your Claude Code and Codex spend goes.
Claude Recall computes per-session and per-project cost analytics locally from the session files Claude Code and the Codex CLI already write to your disk. Both agents land in the same report, each priced at its own provider's published list rate, so your weekly total is one number instead of two consoles. Which session cost you fifteen dollars. Whether the experimental project ate more than the production one this month. Questions neither vendor's console can answer, because neither one can see the other.
What it answers
- What did my agents cost me this week, across Claude Code and Codex?
- Which session cost me fifteen dollars?
- Am I spending more in Codex than in Claude Code, or the other way round?
- Which project burns the most tokens per outcome?
- Is my usage trending up or down?
- Are my long sessions actually more productive than my short ones?
The command
From the CLI:
recall statsIn the web UI: open the dashboard, click Stats.
Anthropic console vs. Claude Recall stats
| Question | Anthropic console | Claude Recall |
|---|---|---|
| Total monthly spend | Yes | Yes |
| Claude Code and Codex in one total | No | Yes |
| Per-session cost | No | Yes |
| Per-project breakdown | No | Yes |
| Trend over time | Limited | Yes |
| Computed locally without sending data anywhere | N/A | Yes |
How the rates are sourced
Claude Code sessions are priced from Anthropic's published list rates, Codex sessions from OpenAI's. Both feed the same views, the same breakdowns and the same weekly total, and the Stats view adds a By source split once a second agent shows up, so you can see which one is costing you more. The rate table is deliberately strict, because a cost report you cannot trust is worse than none:
- Codex rates are matched by exact model id. A Codex session is priced from the rate OpenAI publishes for the exact id it ran, never from a family average. An id with no published rate anywhere is reported as unpriced tokens, not as a silent zero.
- The two exceptions are labelled. OpenAI publishes no rate anywhere for
codex-auto-revieworgpt-5.3-codex-spark. Both are estimated at the nearest published Codex-family rate and carry(est.)in the model name everywhere they appear, so an estimate is never mistaken for a list price. - Unpriced tokens are reported, not invented. A model whose rate card publishes no cache-write column has those tokens counted as unpriced rather than billed at a number nobody published. They print alongside the total as
+ 1.2M tokens unpriced, or asunpricedwhen a row has no priced tokens at all, and they never join the dollar figure. - It is a list-price estimate, not an invoice. Every token is priced at the provider's published API rate. Claude Code on a Max plan and Codex on a ChatGPT plan are both billed differently from list, so the number tells you what the usage would have cost at list price and where your tokens went, not what your card was charged.
Privacy
Cost numbers are computed from the token counts inside the session files Claude Code and the Codex CLI already write to your disk. Claude Recall reads those files locally; nothing gets sent to a server. Your spending pattern stays on your machine.