VS Code extension that monitors Claude Code token usage with live rate-limit data from Claude Code's statusLine hook.
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/cowinr/ccm/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/cowinr/ccm/main/install.ps1 | iexThen reload VS Code: Cmd+Shift+P / Ctrl+Shift+P → Developer: Reload Window
On first activation, the extension will prompt you to install the bridge script. Click Install — this does two things:
- Copies
ccm-bridge.jsto~/.claude/ccm-bridge.js - Adds the bridge call to
~/.claude/settings.jsonunderstatusLine
Restart any running Claude Code sessions to start receiving live data.
If you already have a custom statusLine command in ~/.claude/settings.json, the extension can't safely patch it automatically. Add the bridge call to your existing statusLine command:
node "C:\Users\<you>\.claude\ccm-bridge.js" # Windows
node "/Users/<you>/.claude/ccm-bridge.js" # macOS/Linux
The Output panel (Claude Code Monitor channel) will show the exact path for your machine when you click Install.
- Session usage — 5-hour fixed window (live percentage from Anthropic's servers when bridge is active)
- Weekly usage — 7-day fixed window
- Active model — Sonnet / Opus / Haiku with colour-coded badge
- Burn rate — tokens per minute
- Histogram — 15-minute buckets over the last 7 days
- Reset countdown — exact time until rate limit resets
The status bar shows a compact view; click it or open the CCM sidebar panel for the full breakdown.
| Indicator | Source | What it means |
|---|---|---|
| green live badge | ccm-status.json via bridge |
Accurate percentages from Anthropic |
| grey est badge | JSONL files in ~/.claude/projects/ |
Estimated from local token counts |
Settings are under ccm.* in VS Code preferences:
| Setting | Default | Description |
|---|---|---|
ccm.refreshIntervalSec |
60 | How often to poll for updates |
ccm.sessionDurationHours |
5 | Session window length used for histogram |
ccm.dataPath |
(auto) | Override path to ~/.claude/projects/ |
npm install
npm run compile
npx vsce package --allow-missing-repositoryFull cycle (compile + package + install):
npm run compile && npx vsce package --allow-missing-repository && code --install-extension claude-code-monitor-0.1.0.vsix --force