Your Claude Code dashboard — track burn, YOLO mode, score cards. 100% local.
Project description
MyBurn 🔥
Your Claude Code Dashboard — track your burn, tokens, YOLO mode, and flex your score cards. 100% local, zero telemetry, open source.
Status: Beta. Core features are stable; APIs and CLI may shift before 1.0. Backup your
~/.myburn/data/usage.db.
Install
macOS — via Homebrew:
brew install Gekko-dot-ETH/myburn/myburn
Linux, Windows, or macOS without Homebrew — via pipx (recommended) or pip:
pipx install myburn # recommended (PEP 668-safe, isolated)
# or
pip install myburn # works, but PEP 668 systems will warn
Don't have
pipx?
- macOS:
brew install pipx && pipx ensurepath- Debian / Ubuntu:
sudo apt install pipx && pipx ensurepath(Debian < 12 / Ubuntu < 23.04:python3 -m pip install --user pipxinstead)- Fedora / Arch:
sudo dnf install pipx/sudo pacman -S python-pipx- Windows:
python -m pip install --user pipxthenpython -m pipx ensurepath
We recommend pipx because it handles its own venv bootstrap; plain pip install on Debian/Ubuntu often fails with ensurepip errors unless you install python3-venv first.
Then run it:
myburn
Your browser opens at localhost:7734/dashboard with all your stats. That's it.
Requirements
- Python 3.9+ (3.10+ recommended)
- Claude Code installed and used at least once. MyBurn reads your session logs from
~/.claude/projects/. If you've never opened a Claude Code session, the dashboard will show a welcome screen instead of charts. - A modern browser (Chrome, Firefox, Safari, Edge — current versions).
Supported platforms
| OS | Status |
|---|---|
| Linux | ✅ Tested |
| macOS | 🟡 Expected to work — not yet verified |
| Windows (WSL2) | ✅ Works as Linux |
| Windows (native) | 🟡 Experimental (tracked in issues) |
Features
- Burn Tracking — real-time cost tracking with daily, monthly, and per-project breakdowns
- Score Cards — share your stats in style (Clean, Epic, Roast, Trading Card, Wrapped, more)
- YOLO Stats — track how much of your burn happens with bypass permissions
- Live VU Meter — 32-segment LED bar with 3-second polling
- Hourly Patterns — see when you code most
- Session Details — per-session cost, duration, and tool breakdown
- Project Breakdown — which projects burn the most
How it works
- Install —
pipx install myburn, one command. - Reads your local logs — parses
~/.claude/projects/JSONL files into a local SQLite DB. - Dashboard opens — your browser opens at
localhost:7734with all your stats.
Nothing leaves your machine — ever. No accounts, no telemetry, no cloud calls.
CLI options
myburn # Start dashboard, open browser
myburn --port 8080 # Custom port
myburn --no-browser # Don't auto-open browser
myburn --host 0.0.0.0 # Bind to all interfaces (LAN/Tailscale access)
myburn --version # Show version
myburn backup [--out PATH] # Snapshot the DB
myburn restore <path> # Restore from a snapshot
Data directory
By default, MyBurn stores its SQLite database in ~/.myburn/data/. Override with:
MYBURN_DATA_DIR=/path/to/data myburn
If your Claude Code logs live in a non-standard location:
MYBURN_CLAUDE_DIR=/path/to/.claude/projects myburn
Your data, your responsibility
Claude Code purges JSONL session logs from ~/.claude/projects/ after roughly 30 days. MyBurn's SQLite database is the only permanent copy of your usage history after that — once a JSONL file is gone, only your DB remembers what was in it.
This means: back it up.
MyBurn keeps an automatic rolling snapshot in ~/.myburn/backups/ (every 6h while the dashboard is running, last 7 always kept + everything from the last 30 days). You can also trigger one anytime:
myburn backup # writes ~/.myburn/backups/usage_YYYYMMDD_HHMMSS.db
myburn backup --out ~/dropbox/ # custom destination
myburn backup --compress # gzip the result
To restore:
myburn restore ~/.myburn/backups/usage_20260501_120000.db
The current DB is auto-saved to usage.db.pre-restore-TIMESTAMP before being replaced, so a wrong restore is reversible.
Disable the periodic snapshot with MYBURN_BACKUP_DISABLE=1. Override location with MYBURN_BACKUP_DIR. Frequency with MYBURN_BACKUP_INTERVAL_HOURS.
Troubleshooting
The dashboard shows "Welcome — no Claude Code logs detected". You either don't have Claude Code installed, or it's been installed but never run. Open a Claude Code session and refresh.
Port 7734 is already in use.
myburn --port 17734
My logs live in a non-default location.
MYBURN_CLAUDE_DIR=/where/your/logs/are myburn
The "Live VU Meter" looks frozen.
Refresh the page. If it persists, check localhost:7734/api/health — live_entries should be > 0 and sync_alive should be true.
Costs look wrong / banner says "approximate pricing". A model name was emitted by Claude Code that isn't in the PRICING table yet (typically right after Anthropic releases a new model). MyBurn falls back to default rates and shows a banner. File an issue so we can update.
More problems?
Run curl localhost:7734/api/health and include the JSON in your bug report. It tells us your DB state, sync state, and which models you're using.
Running from source
git clone https://github.com/Gekko-dot-ETH/myburn.git
cd myburn
pip install -e .
myburn
Tests:
python3 -m pytest tests/ -q
Privacy
MyBurn extracts only aggregate metrics from your Claude Code logs:
- Token counts and model names
- Timestamps and session durations
- Cost calculations (API-equivalent pricing)
- Tool usage counts
- Permission mode (YOLO detection)
It never reads, logs, or transmits your code, prompts, file paths, or any conversation content. The dashboard front-end loads Chart.js, html2canvas, and Inter/JetBrains Mono fonts; the JS libs ship bundled in the wheel, fonts come from Google Fonts (a single GET to fonts.googleapis.com per page load — disable with browser policy if you need fully offline).
Reporting bugs / contributing
- 🐛 Open an issue
- 🛠️ Read CONTRIBUTING.md
- 💬 PRs welcome — keep them small and tested.
Acknowledgements
MyBurn originally used ccusage as an external CLI tool for log parsing. It has since been fully replaced by a native Python parser — no ccusage code was used or forked.
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 myburn-0.3.0.tar.gz.
File metadata
- Download URL: myburn-0.3.0.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0255b36aec4238ed644af7694a32c36b62b3bfab8e4a1ec8397b4abbb5361aa
|
|
| MD5 |
3cd29fd5da8aa839ca8a42c334554305
|
|
| BLAKE2b-256 |
ed0d1b6cff4530692f5cb845a3cb7d93dcd3188211678a4db512f675f5fb0112
|
File details
Details for the file myburn-0.3.0-py3-none-any.whl.
File metadata
- Download URL: myburn-0.3.0-py3-none-any.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1f7040db78a37f1c530b6502f45c1b866df9e77ed5ea1255c7407d567bafd65
|
|
| MD5 |
d8136c24ac62bc31d2dd0395606eefbe
|
|
| BLAKE2b-256 |
0aa7aa90a9be764b7f778177048897d15cbf53945da29d8cb110b48a68e11bc5
|