Claude Code Decoder

“How much did my Claude Code session actually cost?” Paste the .jsonl from ~/.claude/projects/<hash>/<session>.jsonl (or drag-drop the file). Get a full breakdown: per-model, per-tool, cumulative timeline, cache savings, insights.

Every byte parses in your browser. The page makes zero network calls on paste — the URL stays clean, your transcript stays private. Verify in the Network tab.

Decoder

Sample session is pre-loaded — click ✕ Clear sample and paste your own when ready.

🔒Your transcript stays in your browser. Parsing and cost math happen client-side via JavaScript. Nothing is uploaded to runlocalai.co or any third party. You can verify with the Network tab.
§ Paste or upload a Claude Code session
12 events parsed1 user turns · 6 assistant turns · 5 tool calls
Session cost
$0.102across 1 model · 37s session
Input tokens
3,980
$0.012
Output tokens
430
$0.0065
Cache writes
15,000
$0.056
Cache reads
89,930
$0.027
§ Insights
Prompt caching saved approximately $0.24 on this session — Anthropic's cache-read rate is 10% of normal input, and it kicked in cleanly here.
Edit · Write dominated this session (~3% of spend). That's typical for refactor / large-edit sessions — flagged so you can see where the budget went, not as a critique.
§ Cost by tool category
Edit · Write: $0.003 (1 calls)Read · Glob · Grep: $0.003 (3 calls)Bash · PowerShell: $0.001 (1 calls)$0.01output cost
Edit · Write
$0.00(47% · 1 calls)
Read · Glob · Grep
$0.00(40% · 3 calls)
Bash · PowerShell
$0.00(13% · 1 calls)

Output cost is attributed to tool calls by proportional share of the turn's output tokens. Categories don't include input cost — input is shared across the whole turn and can't be cleanly split per tool.

§ Cost accumulation timeline
cumulative spend over session
$0.00$0.03$0.05$0.08$0.100s9s19s28s37s
claude-sonnet-4-5
§ Per-model breakdown
ModelInputOutputCache WCache RTotalShare
Claude Sonnet 4.5$0.012$0.0065$0.056$0.027$0.102100%
§ Per-tool breakdown
ToolCalls~ Output tokensCategory
Read2115read
Glob140read
Edit1180write
Bash150execute

How to find your sessions

Claude Code stores every conversation as a JSON-lines file at the path below. Each line is one event (user message, assistant turn with usage, tool result, etc.).

# macOS / Linux
ls ~/.claude/projects/

# Each directory under projects/ is a project (hash of the cwd).
# Inside, every session is a separate .jsonl file:

ls ~/.claude/projects/<hash>/
# → 01HX0Z1ABCDE.jsonl
# → 01HX0Z2FGHIJ.jsonl
# → ...

# Pick the session you want to analyze, cat its contents, paste here.
cat ~/.claude/projects/<hash>/01HX0Z1ABCDE.jsonl

# On Windows: %USERPROFILE%\.claude\projects\

The decoder accepts any subset of a session — partial paste works fine for spot-checking. If you upload a file the entire JSONL is parsed at once.