Releases: 658jjh/claude-usage-tracker
v3.0.0 — Codex Tracking & Rebrand to AI Usage Tracker
v3.0.0 — Codex provider tracking + rebrand to AI Usage Tracker
Two big changes ship together: OpenAI Codex is now tracked alongside Claude in the same dashboard, and the app is rebranded AI Usage Tracker.
✨ Codex provider tracking
- Parses
~/.codex/sessions/**/rollout-*.jsonland shows Codex CLI / Exec / Review as distinct sources. - Bills Codex usage in OpenAI API standard USD per million tokens — totals stay comparable to Claude in a single dollar figure.
- New top-level provider pill (
All / Claude / Codex) scopes the entire dashboard: charts, totals, heatmap, projection, and session log all re-render. - Reasoning tokens (
reasoning_output_tokens) shown in the session detail modal; not added to cost because OpenAI already includes them inoutput_tokens. - Source dropdown dims rows from the inactive provider so combined filtering stays obvious.
- Session detail's resume command branches per provider —
codex resume <id>for Codex rows,claude --resume <id>for Claude Code rows.
🪪 Rename to AI Usage Tracker
- App display name, window title, menus, and DMG filename all updated.
- On first launch,
~/Library/Application Support/ClaudeUsageTrackeris auto-migrated toAIUsageTracker— your cache, scan index, and imported sessions carry over with no manual steps. - Export format identifier changes to
ai-usage-tracker; oldclaude-usage-trackerJSON exports are still accepted on import. - Bundle identifier and GitHub repo slug are unchanged so in-app updates from earlier versions work seamlessly.
🧹 Quality
- One-time backfill: legacy cache entries gain a
providerfield on read so dedup keys stay stable across versions. - Dedup key now includes provider — future name collisions can't collapse data.
- Trimmed redundant comments across the JS/Swift sources.
📦 Install
Download AIUsageTracker-3.0.0.dmg below, drag AI Usage Tracker to Applications, launch. The first run migrates your old data folder.
If you're upgrading from 2.x:
- Existing premium installs can use App menu → Check for Updates… for an in-place upgrade — the bundle identifier is unchanged.
- The old
Claude Usage Tracker.appleft in/Applicationsis orphaned and safe to delete.
🔐 Artifact details
Both assets are signed by Developer ID Application: Nguyen Thanh Thien (A654LQVJ5W), notarized by Apple, and stapled. The .zip is what the in-app premium updater downloads from this release.
v2.2.4 — Imports Survive Upgrades
Highlights
- Imported data now survives upgrades. Sessions imported from another machine — and the cache that backs them — used to live inside the
.appbundle, which meant every upgrade path (DMG drag-replace, in-app updater, manual rebuild) silently wiped them. Runtime data now lives in~/Library/Application Support/ClaudeUsageTracker/, so it persists across every future upgrade. - One-time migration in the premium updater. If you upgrade through Check for Updates… from v2.2.3, your existing imports are automatically copied to the new location before the old bundle is removed. No action needed.
- No more bundle mutation. The app no longer writes inside its own signed
.appbundle, which keeps the code signature stable and avoids spurious Gatekeeper checks on later launches.
⚠️ Important for existing users upgrading via DMG
If you upgrade by dragging the new .app over the old one in /Applications, your imported sessions will be lost during this one transition only — the OS replaces the whole bundle before this version's migration code can run. Please re-export from v2.2.3 first if you have imports you want to keep.
Premium-build users upgrading via the in-app updater are migrated automatically.
What's changed
feat(app): movesessions-cache.json,scan-index.json,data.js, andlauncher.logfrom<bundle>/Contents/Resources/data/to~/Library/Application Support/ClaudeUsageTracker/feat(collect-usage): honorCLAUDE_USAGE_DATA_DIRenv var (standalone CLI still defaults tosrc/data/)feat(app): injectdata.jsas aWKUserScriptat document start, since it now lives outside the WebView's read-access rootfeat(premium-updater): one-time rescue copies the legacy in-bundle cache to the new user-data dir before deleting the backed-up old bundlechore(build): stop creating an emptyResources/data/in the bundle
Downloads
- macOS Universal (arm64 + x86_64):
Claude-Usage-Tracker-macOS-Universal.zip
Unzip and drag Claude Usage Tracker.app to /Applications.
Full changelog: v2.2.3...v2.2.4
v2.2.3 — Universal Binary, Rebrand & OpenClaw Fix
Highlights
- Universal macOS binary — one signed, notarized
.appfor both Apple Silicon and Intel (replaces the two arch-specific zips from v2.2.2). - Rebrand — the app is now called Claude Usage Tracker (was "Claude Usage Dashboard"). Bundle ID is now
com.claudeusagetracker, window title and menu items updated accordingly. - OpenClaw fix —
collect-usage.jsnow skips non-Claude OpenClaw entries that were previously inflating costs. - Premium auto-updater — premium builds will detect and install this release in one click. (The open-source build remains free; the premium build is available for $9 on Polar.)
What's changed
feat(build): universal binary, VERSION file, code-signing and notarization, optional premium-source build pathfix(collect-usage): skip non-Claude OpenClaw entrieschore: rename app from "Claude Usage Dashboard" to "Claude Usage Tracker"chore(assets): simplify logo and drop unused variantschore: reorganize repo intosrc/andassets/layoutdocs(readme): refresh screenshots, modernize layout, promote premium build option
Downloads
- macOS Universal (arm64 + x86_64):
Claude-Usage-Tracker-macOS-Universal.zip
Unzip and drag Claude Usage Tracker.app to /Applications.
Full changelog: v2.2.2...v2.2.3
v2.2.2 — Opus 4.7–4.9 & 5.0 Pricing
What's New
- Expanded Opus model coverage — pricing and display logic now handles Opus 4.7, 4.8, and 4.9 (same tier as 4.5/4.6: $5 / $25 per MTok).
- Opus 5.0 support — added speculative pricing ahead of release ($20 / $100 per MTok). Will be adjusted when official rates are published.
- Updated pricing table in README.
Downloads
- Apple Silicon (M1/M2/M3/M4):
Claude-Usage-Tracker-macOS-AppleSilicon.zip - Intel Macs:
Claude-Usage-Tracker-macOS-Intel.zip
Unzip and drag Claude Usage Dashboard.app to /Applications.
v2.2.1 — Exact Start Date & Import Dedup Fix
What's New
UI
- All Time card now shows the exact start date — e.g. "Since Jan 15, 2025" instead of the generic "Since tracking began". The label updates after imports too.
Bug Fix
- Import merge no longer drops Claude Code sub-agent rows — Dedup key now matches the collector (
source + file + date). Previously, sub-agents that share a singlesessionIdacross multiple.jsonlfiles were collapsed during import.
Downloads
| Platform | File |
|---|---|
| Apple Silicon (M1/M2/M3/M4) | Claude-Usage-Tracker-macOS-AppleSilicon.zip |
| Intel | Claude-Usage-Tracker-macOS-Intel.zip |
Requires Node.js (v16+) and macOS 12.0+
v2.2.0 — Import Persistence
What's New
Bug Fix
- Import data now persists across app restarts — Previously, imported sessions were only stored in memory and lost when the app was closed. Imported data is now saved to the session cache and preserved on relaunch.
UI
- Removed the "Dismiss & Reload" button from the import banner (no longer needed since data persists automatically).
Downloads
| Platform | File |
|---|---|
| Apple Silicon (M1/M2/M3/M4) | Claude-Usage-Tracker-macOS-AppleSilicon.zip |
| Intel | Claude-Usage-Tracker-macOS-Intel.zip |
Requires Node.js (v16+) and macOS 12.0+
v2.1.0 — Projects View
What's New
Projects View
- New Timeline / Projects toggle in the Session Log header
- Groups all sessions by working directory (
cwd) so you can see how much each project costs - Projects sorted by total cost (highest first), sessions without a project grouped at the end
- Expandable project rows show full session sub-tables with date, time, source, model, tokens, and cost
- Lazy detail rendering — sub-tables are only built when you first expand a project row
Performance
- Lazy rendering for Timeline view — day detail panels (source cards + session sub-tables) are now built on first expand instead of eagerly on render
- Single-pass aggregation — replaced 5x separate
.reduce()calls with single-pass loops in totals, per-day, and per-project calculations - Filter short-circuit —
filterSessionsis skipped entirely when no filters are active, avoiding unnecessary O(n) array allocation on every view switch
Code Quality
- Consolidated
_applyFiltersCallbackfrom 3 duplicate definitions to a singleapplyCurrentFilters()function - Replaced
window._projectsDataandwindow._toggleAllForCurrentViewglobals with module-scoped variables and function parameters - Simplified
updateTableHeaderto swap 2 cell texts instead of rebuilding all 8<th>elements
Download
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | Claude-Usage-Tracker-macOS-AppleSilicon.zip |
| macOS (Intel) | Claude-Usage-Tracker-macOS-Intel.zip |
Requires Node.js (v16+) and macOS 12.0+
Screenshot
Full Changelog
v2.0.0 — Native macOS App
What's New
Native macOS App
- Standalone
.appbundle — double-click to launch, no browser or Python needed - Built with Swift + WKWebView (not Electron)
- Dark transparent titlebar, GPU-accelerated rendering
- Cmd+R to refresh data, animated loading screen
Dashboard
- Daily / weekly / monthly / all-time cost breakdowns
- Per-model analytics (Opus, Sonnet, Haiku — all generations)
- Usage heatmaps: peak hours grid + GitHub-style calendar
- Expandable session logs with color-coded source cards
- Multi-criteria filtering (source, model, date range, min cost)
- Monthly cost projections
- Export/import for cross-device data viewing
Supported Tools (9+)
Claude Code CLI, Claude Desktop, Cursor, Windsurf, Cline, Roo Code, Aider, Continue.dev, OpenClaw/Clawdbot
Download
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | Claude-Usage-Tracker-macOS-AppleSilicon.zip |
| macOS (Intel) | Claude-Usage-Tracker-macOS-Intel.zip |
Requires Node.js (v16+) and macOS 12.0+
Or build from source
git clone https://github.com/658jjh/claude-usage-tracker.git
cd claude-usage-tracker
./build-app.shv1.0.0 — First Release 🎉
Claude Usage Dashboard v1.0.0
The first release of Claude Usage Dashboard — a local-first tool that tracks and visualizes your Claude AI usage costs across 9+ development tools.
✨ Highlights
- Multi-source tracking — Auto-detects OpenClaw, Claude Code CLI, Claude Desktop, Cursor, Windsurf, Cline, Roo Code, Aider, and Continue.dev
- Beautiful dark-themed dashboard — Chart.js visualizations with animated counters
- Cost analytics — Daily, weekly, monthly, and all-time cost breakdown
- Model breakdown — Per-model costs across Opus, Sonnet, and Haiku families
- Cache efficiency gauge — Animated gauge with dollar savings calculation
- Heatmaps — Peak hours grid + GitHub-style calendar view
- Session log — Expandable day-by-day details with source cards
- Filtering — Multi-criteria filtering with visual chips
- Monthly projections — Projected costs based on current pace
- macOS .app bundle — Double-click to collect data + open dashboard
📦 Download
Download Claude-Usage-Dashboard-v1.0.0.zip, unzip, and double-click Claude Usage Dashboard.app.
Requirements: Node.js ≥ 16, macOS 12+
🚀 Or run from source
node collect-usage.js
python3 -m http.server 8765
open http://localhost:8765/dashboard.html