# Agent Cost

> Add up Claude Code cost and usage across projects, and Codex CLI cost: cache split, what-if, and the priciest files. Local ccusage alternative.

- URL: https://bytescope.dev/en/agent-cost/
- Locale: en · Also: [ja](https://bytescope.dev/ja/agent-cost.md) · [zh-Hant](https://bytescope.dev/zh-Hant/agent-cost.md)
- Runs: Logs stay in this tab. Nothing is uploaded, and the anonymous event that leaves carries no file name, path, model list, amount, or cache hit rate.
- Requires: Chrome, Edge or Opera on desktop can pick the folder (File System Access). Firefox and Safari pick it through a file input. Parsing stays in the tab either way. Hidden folders need the dialog shortcut, and Chrome will not open the home directory itself.
- Updated: 2026-09-08

## What it does

Claude Code already prints a total for the session you have open. What it does not lay out is the month across every project, how the cache split, and which files the agent kept reading. Point this page at the `projects` folder, or at a Codex `sessions` folder. The walk, the parse and the prices stay in this tab.

### Across projects, not another total

Four things that total leaves packed. The cache split is uncached input, cache read and cache write, each in USD and as a share of those three. What-if sends the whole batch through `whatIf` on the same rate card and shows the difference. The file list is the ten reads that pulled the most text, with an estimated token count (characters ÷ 4). Days, models, sessions and projects stay in the order `aggregate` already produced.

### Two amounts, on purpose

One number prices the requests written in the transcripts. The other adds up the running totals Claude Code stored itself (`vendorCost`). That stored total keeps accumulating across `--resume`, and it includes background requests the transcript never wrote down, such as a generated title. A gap of 3% to 47% is normal. The page keeps both, and it does not treat either as the one to keep.

### What stays on this machine

Nothing is uploaded. `tool-results/` is not opened. The screen and the export show usage counts, model ids, session ids, working directories, version strings, and file paths (a file name until you expand them) with their lengths. Prompt text and tool results do not appear. A browser without the folder picker still gets this page: use the file input. On macOS the dialog opens a hidden folder with `Cmd+Shift+G`. On Linux GTK, `Ctrl+H`. On Windows, paste `%USERPROFILE%\.claude\projects` into the path bar. Chrome will not let you pick your home directory; pick `projects`.

## Limits

Does not call a model API, does not upload logs, and does not read Cursor token usage. It prices Claude Code and Codex CLI transcripts already on disk, and it does not decide whether a subscription is worth the fee.

## FAQ

### Is a Claude Code log uploaded to price it?

No. Parsing runs in this tab, in a worker, and the page is a static file. The only request this site makes for the tool is an anonymous event with the tool id, whether the log was Claude Code or Codex, success or failure, and whether unreadable lines were 0, 1–10, or more than 10. No file name, path, model list, amount, or cache hit rate.

### Why are there two Claude Code cost figures?

The transcript figure prices the requests the log actually wrote down. The other figure adds up the running totals Claude Code stored. Those totals keep going across `--resume` and include background calls the transcript skipped. A gap of 3% to 47% is normal. This page does not pick one to keep.

### Why does thinking say the log did not record it, instead of zero?

Zero would mean the model reported no thinking tokens. Some logs never write that field. Those buckets say the log did not record it. A recorded zero still shows as zero.

### Does this read tool results, Cursor token usage, or a Codex CLI cost file?

Tool results, no: anything under `tool-results/` is skipped before the file is opened. Cursor token usage lives in a different store; this page does not read it. Codex CLI cost comes from `rollout-*.jsonl` when you point at that folder. For a published rate with no log, the LLM API cost calculator is the pricing page.

### Is Claude Max worth it?

People type is claude max worth it and want a yes or no. This page puts the period's API-equivalent spend next to a monthly fee you type. A subscription also has rate limits, so an equivalent spend is not proof you could have run that much. The comparison is the input. The answer is yours.

### Which browsers can pick the folder?

Chrome, Edge and Opera on desktop can use the folder picker and can remember it. Firefox and Safari use the file input; the report is still local. Hidden folders need a shortcut: `Cmd+Shift+G` on macOS, `Ctrl+H` on Linux GTK, or paste the path on Windows. Pick `projects`, not your home directory. Chrome refuses the home directory itself.

## Related tools

- [LLM Pricing](https://bytescope.dev/en/llm-pricing.md) — Published per-million rates and a cache-hit scenario, with the day each card was checked.
