ccstatus
Fast Claude Code status line with usage bars. Renders the model, your context window, and both rate-limit windows (5-hour and 7-day) as hi-res braille gauges — styled to match Claude Code's own usage panel — with cached last-known usage shown instantly on session start instead of blanks.
Single Rust binary, no runtime dependencies.
Opus 4.8 (1M context) Max (20x)
Context ⣿⣿⣇⣀⣀⣀⣀⣀⣀⣀⣀⣀ 22% ↑180k ↓45k / 1.0m
5h ⣿⣿⣿⣇⣀⣀⣀⣀⣀⣀⣀⣀ 28% resets in 2h 23m
7d ⣿⣿⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀ 33% resets in 2d 7h
Each row shows usage percent and a hi-res braille bar in the Claude blue; the
context row adds the input/output token split, and the rate-limit rows count down
to their reset. The plan label (e.g. Max (20x)) sits next to the model —
auto-detected from your Claude Code account. Colors, the braille/block bar,
labels, the plan label, and which rows show are all configurable — see
config.example.toml.
Plan auto-detection: the status-line JSON doesn't carry your plan, so ccstatus reads only the rate-limit tier field from
~/.claude.jsonand maps it to a short label. Override it with[layout] plan = "…", or turn it off withplan_auto = false. Per-model ("Fable") limits aren't exposed anywhere in the status-line data, so only the aggregate 5-hour and 7-day windows are shown.
Install
Homebrew (macOS / Linux):
npm / pnpm / yarn / bun (downloads the prebuilt binary for your platform):
Cargo (builds from source):
Or download a prebuilt binary from the Releases page and put it on your PATH.
The Homebrew and Cargo installs are pure native binaries. The npm package wraps the same binary in a thin Node launcher (~tens of ms startup) for people who prefer the npm toolchain.
Configure Claude Code
Add to ~/.claude/settings.json:
"statusLine":
Configuration (optional)
Copy config.example.toml to ~/.config/ccstatus/config.toml and edit. Every
key is optional and falls back to the defaults that reproduce the look above.
How the cache works
Claude Code only knows your rate-limit usage after its first API call, so a
fresh session would otherwise show --. ccstatus writes the last-known
usage to ~/.cache/ccstatus/usage.json and reads it back on cold start — no
network calls, no auth. Live data always overrides the cache and refreshes it.
License
MIT