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.

Release files for cc-statistics 1.1.1

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.1
File Interpreter ABI Platform
cc_statistics-1.1.1-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details
cc_statistics-1.1.1-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details
cc_statistics-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 3.3 MB

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

Download URL cc_statistics-1.1.1-py3-none-macosx_12_0_x86_64.whl
Size 1.5 MB
Tags Python 3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
845ebac4a56188d088e780c271cf7f9f64765f2256841ffc26e4c370a1717017
BLAKE2b-256 checksum
How to use checksums
a774dc9bab6b15131ee5dfd068dba89534bc57a551609e8de4bdbc1a475d9e3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 7, 2026.

Transparency log

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

Download URL cc_statistics-1.1.1-py3-none-macosx_12_0_arm64.whl
Size 1.5 MB
Tags Python 3 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
500d0e71590fc17803edc3bf20ebf02510832c4f122b6fcd3be9a65fe728c430
BLAKE2b-256 checksum
How to use checksums
72b60989fe7a7594e90d988a57e30d5da269b5836ddf614b53ce5a01ab302a6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 7, 2026.

Transparency log

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

Download URL cc_statistics-1.1.1-py3-none-any.whl
Size 243.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
77ab4d6db098d4fbae755744816c5cab42c38ddb0098c0585dc4f6eee93e5a35
BLAKE2b-256 checksum
How to use checksums
70a015dd4a1c134869b14b945e76b832b57cef6338fbb0967007aa4abf125d86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 7, 2026.

Transparency log

Release history Release notifications | RSS feed

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