Skip to content

feat(scripts): add claude-cost-stats.py#57

Merged
cuberhaus merged 1 commit into
masterfrom
claude-cost-stats
May 15, 2026
Merged

feat(scripts): add claude-cost-stats.py#57
cuberhaus merged 1 commit into
masterfrom
claude-cost-stats

Conversation

@cuberhaus
Copy link
Copy Markdown
Owner

Summary

`claude-cost-stats.py` reads the JSONL session transcripts Claude Code writes under `~/.claude/projects/`, sums token usage by model, and prints an estimated USD cost using the public Anthropic API list prices.

Why

`/cost` in Claude Code shows per-session running spend, but there's no built-in way to see lifetime totals across all sessions and projects. This fills that gap and works for Bedrock/Vertex routes too (with a `--rates` flag).

Features

  • Per-1M token rates printed up-front so the totals aren't a black box
  • `--since 7d / 30d / 24h / YYYY-MM-DD` window filter
  • `--by model / project / session` grouping
  • `--rates anthropic / bedrock / vertex` pricing tables
  • `--json` for machine-readable output
  • Unknown models fall back to the Sonnet rate (flagged in the rates table)

🤖 Generated with Claude Code

Reads the JSONL session transcripts Claude Code writes per project
under ~/.claude/projects/, sums token usage by model, and prints an
estimated USD cost using the public Anthropic API list prices (per
million tokens).

Per-1M rates are printed up-front so the totals aren't a black box —
the report shows exactly which input/cache_write_5m/cache_write_1h/
cache_read/output rate was applied to each model that had usage.
Unknown models fall back to the Sonnet rate and are flagged.

Supports --since (7d/30d/24h/YYYY-MM-DD), --by (model/project/session),
--rates (anthropic/bedrock/vertex), and --json for machine-readable
output. Bedrock/Vertex rates are currently aliased to Anthropic since
the per-token rates match closely; the cloud billing console is the
authoritative source.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@cuberhaus cuberhaus merged commit 7e068ca into master May 15, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant