Skip to main content
cc-statistics macOS App

cc-statistics

The only AI coding tracker that unifies Claude Code, Gemini CLI, Codex CLI, and Cursor — in one native macOS app.

Track every token, cost, and session across all your AI tools. 100% local. Zero dependencies.

PyPI Downloads Stars License Zero Dependencies Platform

Why? • Features • Screenshots • Quick Start • CLI • English | 简体中文 | 日本語 | 한국어


🤔 Why cc-statistics?

You're using multiple AI coding tools. But do you actually know:

  • 💸 What your combined spend is across Claude Code, Gemini CLI, Codex, and Cursor?
  • 🔧 Which MCP tools are being called most — and whether they're worth the tokens?
  • ⏱️ How much time Claude is actually working versus waiting for you?
  • 📈 Which projects are consuming the most — and across which models?

Most tools only answer this for Claude Code. cc-statistics answers it for all four.

How does it compare?

cc-statistics CCDash claude-usage ccflare
Claude Code ✅ ✅ ✅ ✅
Gemini CLI ✅ ❌ ❌ ❌
Codex CLI ✅ ❌ ❌ ❌
Cursor ✅ ❌ ❌ ❌
Native macOS App ✅ ❌ ❌ ❌
Pixel-Art Mascot (Clawd) ✅ ❌ ❌ ❌
Session Search & Resume ✅ ✅ ❌ ❌
Weekly / Monthly Reports ✅ ✅ ❌ ❌
Webhook (Slack / Feishu / DingTalk) ✅ ✅ Slack/Discord ❌ ❌
Tool Call Analytics ✅ ✅ ❌ ❌
Code Changes by Language ✅ ❌ ❌ ❌
AI vs User Time ✅ ❌ ❌ ❌
Usage Alerts ✅ ✅ ❌ ❌
Usage Quota Predictor ✅ ✅ ❌ ❌
Share Session Messages ✅ ❌ ❌ ❌
Web Dashboard ✅ ✅ ✅ ✅
CLI Tool ✅ ✅ ❌ ✅
Zero Dependencies ✅ ✅ ❌ ❌
Cache Efficiency Grade ⏳ planned ✅ ❌ ❌
Live Stream ⏳ planned ✅ ❌ ❌

cc-statistics is a community project, not affiliated with Anthropic, Google, or OpenAI.


🚀 Features

🌐 4-Platform Unified View

Claude Code · Gemini CLI · Codex CLI · Cursor — switch between platforms or aggregate all four into a single report. Each source is read entirely from local files; no API keys, no accounts, no network requests.

🖥️ Native macOS Menu Bar App

Pre-built SwiftUI binary — launch with cc-stats-app and it lives in your menu bar permanently. Shows Claude logo + today's token count + estimated cost at a glance. Turns red when you hit your daily usage quota. Right-click to switch display modes. Global hotkey Cmd+Shift+C opens the full dashboard from anywhere.

🏝️ Claude-Style Island Overlay

A notch-aware island overlay for macOS that surfaces Claude Code activity and permission requests in compact and expanded states. Review approvals, jump into chat context, and keep the flow visible without constantly context-switching back to the terminal.

🐾 Clawd — Pixel-Art Status Bar Mascot

A pixel-art Clawd mascot reacts to Claude Code's agent state in real time: idle, thinking, typing, happy, sleeping, and error — each with its own animated sprite. Built on clawd-on-desk hook integration.

Clawd Animation States

📊 Usage Quota Predictor

Real-time prediction of when you'll hit your usage quota based on current burn rate. Displays estimated time remaining, projected reset time, and risk level — so you can pace your usage and avoid unexpected throttling.

🔍 Session Search & Resume

Search your entire session history by keyword across all platforms. Results show timestamps and a ready-to-run resume command — one copy-paste and you're back in context:

claude --resume <session-id>

💬 Share Session Messages

Export and share individual session conversations as clean, formatted text — useful for documenting AI-assisted work, sharing context with teammates, or archiving important sessions.

📊 Multi-Dimensional Analytics

Instructions count · Tool calls Top 10 (Skill and MCP tools broken out by name) · AI processing time vs user active time · Code changes by language (via git log --numstat) · Token breakdown by model · Cost estimation with built-in pricing for Opus / Sonnet / Haiku / Gemini 2.5 Pro / Flash / GPT-4o

🔔 Usage Alerts

Set daily and weekly cost limits. When you're over threshold, the macOS menu bar icon turns red and a native system notification fires — respecting your Focus modes, no app in foreground required.

📋 Weekly & Monthly Reports

Auto-generate Markdown summaries for any period: total tokens, cost by model, most active projects, top tool calls, code changes by language. Push directly to your team channel:

cc-stats --report week
cc-stats --notify https://hooks.slack.com/services/xxx

Slack, Feishu, and DingTalk webhooks all supported.

⚡ Project Comparison

See which projects are consuming the most resources side by side:

cc-stats --compare --since 1w

🌐 Web Dashboard

Browser-based dark-themed dashboard for all platforms — useful on Linux/Windows or when you want a larger view than the menu bar panel.

🔒 100% Local & Zero Dependencies

All data is read from local files. Nothing is sent over the network. Pure Python standard library — no pip install, no npm, no Docker.


🖼️ Screenshots

🖥️ macOS App — Dark Mode 🖥️ macOS App — Light Mode
macOS App Dark macOS App Light
📊 Usage Quota Predictor 🔴 Max Usage Reached
Usage Quota Predictor Max Usage
🔍 Session List 🔧 Tool Call Analytics
Session List Tool Call Analytics
⚡ Skill / MCP Analytics 💬 Share Session Messages
Skill Analytics Share Messages
🌐 4-Platform Unified View ⚙️ Settings
Multi-Platform Settings
🔔 Notifications 🌐 Web Dashboard
Notifications Web Dashboard

CLI Demo

CC Stats CLI Demo

⚡ Quick Start

Prerequisites

  • Python 3.10+
  • At least one of: Claude Code CLI, Gemini CLI, Codex CLI, or Cursor installed and used

3 steps

# 1. Install
uv tool install cc-statistics   # or: pipx install cc-statistics

# 2. Run your first report (all platforms, last 7 days)
cc-stats --all --since 7d

# 3. Launch macOS menu bar app (macOS only)
cc-stats-app

That's it. No configuration file needed.

Alternative install methods:

# pipx
pipx install cc-statistics

# Homebrew (macOS / Linux)
brew install androidZzT/tap/cc-statistics

Windows Tray Development Preview

A Windows tray MVP lives in desktop/cc-stats-tauri/. It is a Tauri shell that starts the Python web dashboard with python -m cc_stats_web --no-browser --json, shows a tray menu, and opens the existing dashboard UI. Statistics, source discovery, parsing, pricing, and API responses stay in Python.

This preview is for development builds. It does not replace the macOS Swift app, and it does not bundle Python, signing, automatic updates, or installer polish yet.

cd desktop/cc-stats-tauri
npm install
npm test
npm run build:web

cd src-tauri
cargo test
cargo check

📖 CLI Reference

cc-stats                      # Analyze current directory sessions
cc-stats --list               # List all detected projects (all platforms)
cc-stats --all --since 3d     # Last 3 days, all projects, all platforms
cc-stats --all --since 1w     # Last week
cc-stats myproject --last 3   # Last 3 sessions for a specific project
cc-stats --report week        # Generate weekly Markdown report
cc-stats --report month       # Generate monthly Markdown report
cc-stats --compare --since 1w # Side-by-side project comparison
cc-stats --notify <url>       # Push report to Slack / Feishu / DingTalk webhook
cc-stats-web                  # Open web dashboard in browser
cc-stats-app                  # Launch macOS menu bar app

🗂️ Data Sources

All data is read from local files. Nothing is sent over the network.

Source Local path
Claude Code ~/.claude/projects/<project>/<session>.jsonl
Gemini CLI ~/.gemini/tmp/<project>/chats/<session>.json
Codex CLI ~/.codex/sessions/*.jsonl
Cursor ~/Library/Application Support/Cursor/User/globalStorage/state.vscdb
Git Changes git log --numstat in project directory

Path Overrides (Cross-Platform / Testing)

Set these environment variables to read source data from custom locations. Use paths visible to the shell or environment where cc-stats runs.

Variable Purpose
CC_STATS_CLAUDE_PROJECTS_DIR Claude Code project log directory
CC_STATS_CODEX_HOME Codex home; sessions/ is read below it
CC_STATS_GEMINI_HOME Gemini home; tmp/*/chats/ is read below it

Acknowledgments

Status bar Clawd animation sprites from clawd-on-desk — an Electron desktop pet that senses AI coding agent state via hooks and plays pixel-art animations.

Special thanks to Farouq Aldori and the claude-island / vibe-notch project for the inspiration behind the macOS notch island interaction model, compact/expanded motion language, and approval-panel design direction.


Support

If cc-statistics saves you money on your AI coding bills, consider sponsoring the project.

Metadata

Release files for cc-statistics 1.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for cc-statistics 1.1.4
File Interpreter ABI Platform Actions
cc_statistics-1.1.4-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details for cc_statistics-1.1.4-py3-none-macosx_12_0_x86_64.whl
cc_statistics-1.1.4-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details for cc_statistics-1.1.4-py3-none-macosx_12_0_arm64.whl
cc_statistics-1.1.4-py3-none-any.whl Python 3 none any Details for cc_statistics-1.1.4-py3-none-any.whl

Total release size: 3.5 MB

Release files / cc_statistics-1.1.4-py3-none-macosx_12_0_x86_64.whl

Download URL cc_statistics-1.1.4-py3-none-macosx_12_0_x86_64.whl
Size 1.7 MB
Tags Python 3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
94f0997e94562c536cf1ed0b809d432ca2580fa4273c32e73f57ff7f8dad9968
BLAKE2b-256 checksum
How to use checksums
135a6d992039165059fe7cf74876cdffaafaa87cd4ddcc53b1ec23f4e2a2fa5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / cc_statistics-1.1.4-py3-none-macosx_12_0_arm64.whl

Download URL cc_statistics-1.1.4-py3-none-macosx_12_0_arm64.whl
Size 1.6 MB
Tags Python 3 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
840054814551b1e0d49a96f5059b684f9df80f10c44984d95a5104b7861e21c0
BLAKE2b-256 checksum
How to use checksums
88e65ff31a0b095af084910039a3cb553b15cbc22c77d64ec8dcf0ec6cf0986d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / cc_statistics-1.1.4-py3-none-any.whl

Download URL cc_statistics-1.1.4-py3-none-any.whl
Size 253.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c7b7ba3155d42a09cc0a9599a854da4d6dbebe674c199b9770af623afceea2b
BLAKE2b-256 checksum
How to use checksums
652eb5a1ad605aaae7569eb990c153726f121a9e05d0ae7742fe7cc0b16db8a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for cc-statistics 1.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 3 files in this release have been uploaded with provenance metadata.

Select from 3 files

Attestation for cc_statistics-1.1.4-py3-none-macosx_12_0_x86_64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.4 This release

3 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page