Repository navigation
2.0.0-beta.3 - 2026-04-13
Pre-release
Pre-release
Release Notes
Fixed
- Token & cost accuracy — Claude Code logs the same API response in multiple places (streaming chunks, sub-agent mirrors,
/compactretries). CCMeter now dedupes byrequestId(Anthropic's billing unit), eliminating the 2–3× over-counting previously observed on days with heavy sub-agent activity. Totals now match what Anthropic actually billed. - Multi-minute timeline accuracy — long streaming responses (extended thinking + large outputs) now correctly distribute their tokens across the minutes they actually spanned, instead of collapsing onto the final completion minute.
active_minutesclustering, the minute-level heatmap, and rate-limit forecasts are all more accurate. - Code metrics on partial-overlap streams — when a non-canonical stream carries a unique
Edit/Writeblock, itslines_suggested/lines_added/lines_deletedare preserved via zero-billing ghost markers, avoiding silent under-counting of code activity. Ghosts are deduped across multiple mirror files by timestamp so a 3-file (canonical + 2 mirrors) layout doesn't double-count line metrics. - Ghost events no longer leak into model breakdowns — zero-billing markers now carry an empty
modelfield, so they fall through toModelId::Otherand are filtered out of model-share aggregations instead of producing phantom slices. - User-side patch dedup — patches replayed into sub-agent transcripts (Edit/Write acceptances) are now deduped by line
uuid, fixing inflatedlines_addedand skewed efficiency scores on sub-agent–heavy days. - Cost fallback includes
cache_creation— token-based cost estimation (used when rawcostUSDis absent, i.e. Pro plans) now billscache_creationatinput_price × 1.25instead of ignoring it. Closes a 5–15 % under-estimate on cache-heavy sessions.
Added
- Versioned cache schema with automatic invalidation.
~/.config/ccmeter/history.jsoncarries aschema_version; mismatches trigger a clean rebuild on next launch so accuracy fixes propagate without manual intervention. - One-time cache-state banner at the top of the dashboard:
- "Cache rebuilt" (warning color) when a schema migration occurs.
- "Cache was unreadable" (error color) when the on-disk file couldn't be read or parsed, with a hint to delete it if the issue persists.
- Both dismiss on any keypress.
CCMETER_FORCE_BANNERenv var for testing the banners after migration has already happened. Set torecoveredfor the corruption banner, anything else for the migration banner.
Documentation
- README: new "Accurate token counting" section explaining the dedup methodology and what users should expect when upgrading from a pre-dedup version.
Install ccmeter 2.0.0-beta.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/hmenzagh/CCMeter/releases/download/v2.0.0-beta.3/ccmeter-installer.sh | shInstall prebuilt binaries via Homebrew
brew install hmenzagh/tap/ccmeterDownload ccmeter 2.0.0-beta.3
| File | Platform | Checksum |
|---|---|---|
| ccmeter-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| ccmeter-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| ccmeter-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| ccmeter-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
| ccmeter-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |