cc-pacer
v1.3.0
Published
Know your pace before you hit the wall — a Claude Code statusline for usage rate, pace projection, and cost.
Maintainers
Readme
Install
npx cc-pacerRemembers any status line you already had, installs to ~/.claude/cc-pacer.sh, wires up your Claude Code settings, and opens the editor so you can pick your look. Restart Claude Code to see it.
What it shows
Opus 4.8 │ ✍️ 43% │ myrepo (main*) ↑2 │ ⏱ 42m · $1.23 │ +156/-23 │ ◑ medium │ 🎙● 🖥●
current ●●●○○○○○○○ 34%→68% ⟳ 6:41pm · $2.10 🔥 $0.84/hr
weekly ●●○○○○○○○○ 18% ⟳ jul 17, 9:00am · $14.32
month $52.80 api-equiv · today $4.15- Line 1 — model · context % · directory & git branch · session time & cost · lines ± · reasoning effort · 🎙 voice and 🖥 remote toggles (green = on).
- current / weekly — your official 5-hour and weekly rate-limit windows, with reset time and API-equivalent cost.
- month — calendar-month API-equivalent spend and today's total.
Bars are colored by usage — 🟢 <50% · 🟠 50–69% · 🟡 70–89% · 🔴 ≥90%. The → value projects where you'll land at the window reset, so being ahead of pace flags before you hit the wall.
- Pace projection — meters flag by projected end-of-window usage (
67%→120%), not just the raw number. - Reasoning-effort dial —
●high/max ·◑medium ·◔low. - Commits ahead/behind —
↑n↓nvs. your branch's upstream. - Burn rate —
🔥 $/hrover the live 5-hour block. - Extra-usage meter — shows automatically when your account has extra usage enabled.
- Accurate pricing — per-model rates, including legacy Opus ($15/$75) and cache read/write tiers.
- Graceful failures — bad input falls back to defaults; a failed usage-API call backs off with a compact hint (
⚠ auth,⚠ 429). - Portable & private — honors
CLAUDE_CONFIG_DIR, caches to a per-user0700dir, sends your OAuth token tocurlvia stdin (never argv).
Configure
From inside Claude Code, type /cc-pacer: the editor opens in a popup (a tmux popup when you're in tmux, otherwise a new terminal window). Or, in any terminal:
npx cc-pacer configOpens an interactive editor with a live preview. Move with the arrow keys (or h/j/k/l), toggle or change with space, save with enter, cancel with esc. Settings live in ~/.claude/cc-pacer.json and apply on the next refresh, with no restart. You can also edit the file by hand:
{
"theme": "nord",
"hide": ["effort", "toggles", "current-burn", "weekly-cost"],
"barStyle": "dots",
"barSpacing": "off",
"barWidth": 10,
"clock": "24h",
"colors": { "model": "#88c0d0", "good": "#a3be8c" }
}| Option | Values |
| --- | --- |
| hide | Line 1: model context dir git session lines effort toggles |
| | Limits: current (current-pace current-reset current-cost current-burn) · weekly (weekly-pace weekly-reset weekly-cost) · month · extra |
| theme | default · light · nord · dracula · mono |
| barStyle | dots ●○ (default) · braille ⣤⣀ · bar ▄▁ · blocks █░ · slants ▰▱ · squares ■□ · line ━─ |
| barSpacing | auto (default) · on · off — a space between cells for dots, squares, and slants |
| barSize | 1–3 thickness for braille (⣀ ⣤ ⣶) and bar (▂ ▄ ▆), default 2 |
| barWidth | 1–40 (default 10) |
| clock | 12h · 24h |
| colors | #rrggbb per role, over the theme: model directory good warning high critical text effort |
Spacing auto turns on in VTE terminals (GNOME Terminal, Tilix, …), where fonts without these glyphs make adjacent cells collide, and stays off everywhere else. bar, blocks, and line are drawn by the terminal itself and look identical anywhere. The editor only shows bar size and spacing for the styles they apply to. Hiding current-pace also colors the bar by actual usage instead of the projection.
Hidden segments skip their work too — hiding git skips the git calls; hiding every cost (month, current-cost, current-burn, weekly-cost) skips the transcript scan.
Costs are estimated locally from your transcripts (tokens × current API pricing, cached 60s). On older Claude Code versions that don't send rate-limit data, it falls back to Anthropic's usage API using your existing credentials — the only network request it ever makes.
Requirements
Needs jq, curl, and git. curl and git are preinstalled on most systems; install jq with:
| System | Command |
| --- | --- |
| macOS | brew install jq |
| Debian / Ubuntu | sudo apt install jq |
| Fedora / RHEL | sudo dnf install jq |
| Arch | sudo pacman -S jq |
| Windows | winget install jqlang.jq |
Uninstall
npx cc-pacer --uninstallPuts back the status line you had before installing (or removes the entry), and deletes the script, the editor, cc-pacer.json, and the /cc-pacer command. If you have since switched to another status line, your settings are left alone.
License
MIT
