Skip to content

Releases: 658jjh/claude-usage-tracker

v3.0.0 — Codex Tracking & Rebrand to AI Usage Tracker

21 May 06:57

Choose a tag to compare

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-*.jsonl and 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 in output_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/ClaudeUsageTracker is auto-migrated to AIUsageTracker — your cache, scan index, and imported sessions carry over with no manual steps.
  • Export format identifier changes to ai-usage-tracker; old claude-usage-tracker JSON 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 provider field 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.app left in /Applications is 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

15 May 16:25

Choose a tag to compare

Highlights

  • Imported data now survives upgrades. Sessions imported from another machine — and the cache that backs them — used to live inside the .app bundle, 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 .app bundle, 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): move sessions-cache.json, scan-index.json, data.js, and launcher.log from <bundle>/Contents/Resources/data/ to ~/Library/Application Support/ClaudeUsageTracker/
  • feat(collect-usage): honor CLAUDE_USAGE_DATA_DIR env var (standalone CLI still defaults to src/data/)
  • feat(app): inject data.js as a WKUserScript at document start, since it now lives outside the WebView's read-access root
  • feat(premium-updater): one-time rescue copies the legacy in-bundle cache to the new user-data dir before deleting the backed-up old bundle
  • chore(build): stop creating an empty Resources/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

14 May 04:47

Choose a tag to compare

Highlights

  • Universal macOS binary — one signed, notarized .app for 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 fixcollect-usage.js now 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 path
  • fix(collect-usage): skip non-Claude OpenClaw entries
  • chore: rename app from "Claude Usage Dashboard" to "Claude Usage Tracker"
  • chore(assets): simplify logo and drop unused variants
  • chore: reorganize repo into src/ and assets/ layout
  • docs(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

17 Apr 05:32

Choose a tag to compare

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

11 Apr 15:54

Choose a tag to compare

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 single sessionId across multiple .jsonl files 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

10 Apr 08:28

Choose a tag to compare

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

26 Mar 20:01

Choose a tag to compare

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-circuitfilterSessions is skipped entirely when no filters are active, avoiding unnecessary O(n) array allocation on every view switch

Code Quality

  • Consolidated _applyFiltersCallback from 3 duplicate definitions to a single applyCurrentFilters() function
  • Replaced window._projectsData and window._toggleAllForCurrentView globals with module-scoped variables and function parameters
  • Simplified updateTableHeader to 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

Projects View

Full Changelog

v2.0.0...v2.1.0

v2.0.0 — Native macOS App

22 Mar 18:03

Choose a tag to compare

What's New

Native macOS App

  • Standalone .app bundle — 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.sh

v1.0.0 — First Release 🎉

07 Feb 01:15

Choose a tag to compare

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