Terminal dashboard for Claude Code usage, costs, and rate limits.
Built with Ink, TypeScript.
npx tokmonOr with pnpm:
pnpm dlx tokmonnpm install -g tokmonThen just run tokmon. Press q to quit.
-i, --interval <seconds> Refresh interval in seconds (default: 2)
-h, --help Show help
| Key | Action |
|---|---|
Tab |
Cycle between Dashboard and Table |
1 2 |
Jump to Dashboard / Table |
s |
Open settings |
q |
Quit |
| Key | Action |
|---|---|
d w m |
Switch to Daily / Weekly / Monthly |
← → |
Cycle sub-view |
↑ ↓ |
Move cursor / navigate rows |
Enter |
Expand row — per-model cost breakdown |
Esc |
Collapse expanded row |
o |
Cycle sort: date ↑, date ↓, cost ↑, cost ↓ |
g |
Jump to top |
G |
Jump to bottom |
PgUp PgDn |
Page scroll |
| Key | Action |
|---|---|
↑ ↓ |
Select option |
← → |
Adjust value |
s / Esc |
Close |
- Today / This Week / This Month — cost and token summaries
- Burn rate — current $/hr
- Rate Limits — real-time session (5h), weekly (7d), and Sonnet utilization with reset countdowns, fetched from Anthropic's OAuth API
- Peak / Off-Peak badge — shown in the header, fetched from promoclock.co (peak hours drain session limits faster)
Interactive table with 3 sub-views:
- Daily — per-day breakdown (6 months of history)
- Weekly — grouped by ISO week
- Monthly — grouped by month
Each row shows models used, input/output/cache tokens, and cost. Press Enter on any row to expand a per-model breakdown:
▸ Apr 7 haiku-4-5, op~ 7.6K 487.0K 10.1M 1.1B $603.89
├─ opus-4-6 7.5K 485.0K 10.0M 1.1B $601.50
└─ haiku-4-5 100 2.0K 100K 5.0M $2.39
Sort by date or cost with o.
Press s to open. Persisted to ~/.config/tokmon/config.json (macOS/Linux) or %APPDATA%\tokmon\config.json (Windows).
- Refresh interval — dashboard poll rate (default: 2s)
- Billing poll — rate limits API poll rate (default: 5m, min 1m to avoid 429s)
- Clear screen — clears terminal on launch (like
watch)
- Reads Claude Code's JSONL session logs from
~/.claude/projects/ - Calculates costs using Claude model pricing (Opus, Sonnet, Haiku)
- Caches file reads by mtime — subsequent refreshes are near-instant
- Dashboard loads current month only (fast). Table loads 6 months lazily.
- Rate limits fetched from Anthropic OAuth API every 2 minutes (token from macOS Keychain)
Cross-platform: macOS, Linux, Windows.
Publishes to npm and GitHub Packages via GitHub Actions on version tags:
git tag v0.7.0 && git push --tags- Node.js 20+
- Claude Code
By David Ilie