Claude Code usage dashboard across multiple devices
Project description
claude-multi-usage (cmu)
CLI dashboard for Claude Code usage tracking across multiple devices.
Parses local ~/.claude data and displays usage stats in your terminal — sessions, tokens, projects, models, and more. Supports multi-device sync via a central server.
Install
pipx install claude-multi-usage
Requires pipx. Install with
brew install pipx(macOS) orpip install pipx.
Usage
cmu # Full dashboard
cmu today # Today's usage
cmu projects # Usage by project
cmu models # Usage by model
cmu cost # Monthly cost breakdown
cmu dashboard -d 30 # Last 30 days
cmu dashboard --all # All devices (via sync server)
claude-multi-usage also works as a command alias.
Multi-Device Sync
Collect usage data from multiple machines into a central server.
Server Setup
Choose one of the following:
Docker (recommended)
docker run -d -p 8000:8000 -v cmu-data:/data ghcr.io/hunknownn/claude-multi-usage:latest
Kubernetes
kubectl apply -f deploy/k8s/
pip
pip install claude-multi-usage[server]
cmu server start --host 0.0.0.0 --port 8000
Client Setup
# Set server URL (once)
cmu config --server https://your-server.com
# Sync usage data
cmu sync
# View all devices' usage
cmu dashboard --all
Auto Sync
Add to ~/.zshrc to sync automatically when using Claude:
cc() {
cmu sync --quiet &>/dev/null &
command claude "$@"
cmu sync --quiet &>/dev/null &
}
Dashboard Preview
── Claude Usage Dashboard ── my-macbook.local ── 2026-03-07 ──
╭──────────── Summary ────────────╮ ╭────────── Model Usage ──────────╮
│ Hostname my-macbook │ │ Model Output Cache │
│ Total Sessions 132 │ │ claude-opus-4-6 780K 519M │
│ Total Messages 35,330 │ │ claude-sonnet 867K 424M │
│ Output Tokens 1.6M │ ╰─────────────────────────────────╯
│ Estimated Cost $1,548 │
╰─────────────────────────────────╯
╭──────────────── Daily Tokens (last 14 days) ─────────────────╮
│ 02-23 ████░░░░░░░░░░░░░░░░ 60.3K (1233 msgs, 9 sess) │
│ 02-24 █░░░░░░░░░░░░░░░░░░░ 24.8K (909 msgs, 4 sess) │
│ 03-03 ███████░░░░░░░░░░░░░ 96.6K (633 msgs, 4 sess) │
╰──────────────────────────────────────────────────────────────╯
╭──────────────── Hourly Sessions (all time) ──────────────────╮
│ 00 01 02 .. 09 10 .. 16 17 18 19 20 21 22 23 │
│ ▒▒ ░░ ░░ ░░ ▒▒ ▓▓ ▒▒ ░░ ▒▒ ▓▓ ▓▓ ██ ▓▓ │
╰──────────────────────────────────────────────────────────────╯
╭──────────────── Top Projects ────────────────────────────────╮
│ 1. apr-backend-assignment 45 sessions 2026-02-10 │
│ 2. wemade-assignment 23 sessions 2026-03-04 │
│ 3. url-jarvis 17 sessions 2026-03-07 │
╰──────────────────────────────────────────────────────────────╯
Cost Estimation
Calculates estimated API costs based on Anthropic pricing. Past days are cached for instant loading, today is calculated in realtime.
╭──────────── Cost Breakdown (by month) ────────────╮
│ Month Model Cost │
│ 2026-02 claude-opus-4-6 $1,317.20 │
│ claude-sonnet-4-5 $126.54 │
│ subtotal $1,443.74 │
│ │
│ 2026-03 claude-opus-4-6 $104.56 │
│ subtotal $104.56 │
│ │
│ Total $1,548.29 │
╰────────────────────────────────────────────────────╯
How It Works
Reads local Claude Code data from ~/.claude/:
stats-cache.json— daily activity, model tokens, hourly countsprojects/— session files per project
No API keys required. Local data stays local unless you opt in to sync.
Roadmap
- Multi-device sync via central server (#2)
- Accurate cost estimation with incremental caching (#5)
- Web dashboard (#3)
- Homebrew support
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_multi_usage-0.4.0.tar.gz.
File metadata
- Download URL: claude_multi_usage-0.4.0.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81fff1c2d3e35ecc1794765692bb1639a9626820597e9150f267eef2f8bfc4f3
|
|
| MD5 |
ba571a973e93b3ab1a5251ff3e424a1a
|
|
| BLAKE2b-256 |
a4f2ea04673e5ea9a82c996d714ea5dd2fbab89c7a1d177bd5569528821b1128
|
File details
Details for the file claude_multi_usage-0.4.0-py3-none-any.whl.
File metadata
- Download URL: claude_multi_usage-0.4.0-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
797dfe965c4f5526ccd7a398d5f42587f890b48465cf89cbe09c97d8d03473f1
|
|
| MD5 |
384c57d9800cb4f04a844ab64ee716fd
|
|
| BLAKE2b-256 |
c52a411b586e07636197921f9b5c8fd70e458a0653fc115021fb6306a30bf6d3
|