feat(scripts): add claude-cost-stats.py#57
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
🤖 Generated with Claude Code