Track your Claude Code token usage and compete on the global leaderboard.
Follow these 3 steps inside Claude Code.
Register the BurnBoard plugin repository as a marketplace source.
claude marketplace add https://github.com/behappybill/burnboard-pluginInstall the BurnBoard plugin from the registered marketplace.
claude plugin install burnboardYou may be prompted to approve hook permissions during installation. Please allow it.
Run Claude Code, then enter the following slash command.
/burnboard:setup
You will be prompted to enter your API key. Get one from burnboard.io/settings after signing in with GitHub.
Once setup is complete, token usage will be tracked automatically.
- Automatic Tracking — Zero-config after setup. Every Claude Code session is recorded
- Statusline HUD — Real-time token usage, tier, and progress displayed in the terminal status bar
- Zero Overhead — Stop hook is a pure shell script (~1ms). No impact on Claude Code response speed
- Offline Resilient — Failed reports are queued locally and retried on next session
- Batch Reporting — Multiple pending sessions are sent in a single API call
After setup, your terminal status bar shows real-time token usage:
🔶 Ember 1.8M/5.0M ██░░░░░░░░ 19% │ Session: 84.2K
- Tier icon & name — Color-coded to your current tier
- Monthly tokens / Next tier threshold — Track your progress
- Progress bar — Visual indicator to next tier
- Session tokens — Current session usage
The statusline updates automatically via Claude Code's Statusline API with a 5-second cache for performance.
Claude Code Session
│
├─ [Stop event] ──→ mark.sh
│ Saves session_id + transcript path
│ Pure shell, ~1ms, no Node.js spawn
│
└─ [SessionEnd] ──→ flush.mjs
Parses transcript JSONL
Extracts token usage per model
Reports to BurnBoard API
Cleans up on success
The plugin registers two Claude Code hooks:
| Hook | Script | What it does |
|---|---|---|
Stop |
mark.sh |
Records session ID and transcript path (~1ms, pure shell) |
SessionEnd |
flush.mjs |
Parses transcript, extracts tokens, reports to API |
All pending data is stored in ${CLAUDE_PLUGIN_DATA} until successfully reported.
Climb the ranks each month:
Spark (0) → Ember (1M) → Flame (5M) → Blaze (20M) → Inferno (50M) → Supernova (100M+)
- Only aggregated token counts are sent (input/output tokens, model, turn count, duration)
- No conversation content is transmitted
- You can opt out of the public leaderboard in settings
claude --plugin-dir ./- burnboard — Web app (dashboard, leaderboard, API)
MIT