Skip to main content

Lightweight status bar monitor for Claude AI token usage

Project description

Claude Status Bar

Lightweight Claude Code status bar monitor for the built-in statusLine hook.

It shows your current Claude.ai rate-limit usage, reset timers, context window usage, and an optional ASCII pet in a compact single-line format.

What it shows

5h[███38%░░░░]⏰2h14m | 7d[███87%███░]⏰3d05h | Opus 4.6(90.0k/1.0M) | ᓚᘏᗢ Giga:working!
Segment Meaning
5h[███38%░░░░] 5-hour rate-limit usage
⏰2h14m Time until the 5-hour window resets
7d[███87%███░] 7-day rate-limit usage
⏰3d05h Time until the 7-day window resets
Opus 4.6(90.0k/1.0M) Model name plus current context usage
ᓚᘏᗢ Giga:working! Optional status-bar pet
📚 EN:6.0↑ JA:5.0→ IELTS band progress (requires prompt-language-coach)

Colors default to green / yellow / red at 30% and 70%, and can be customized.

Styles & themes (v2.7+)

The default style above (classic) stays the same forever. Two new styles are available — pick whichever you like, or stick with classic.

cs --style capsule  --theme graphite   # try once
cs --style hairline --theme twilight   # try once
cs config set style capsule            # persist
cs config set theme twilight
cs styles                              # list available styles
cs themes                              # list available themes
cs preview                             # render every style × theme together
Style Look
classic Original [bar] | pipe engineering layout. Default.
capsule Each metric is a colored pill — type badge (◷ 5H / ☷ 7D / / 📚) on the left, value, severity dot on the right. Subway-signage feel.
hairline One-character mini-bar (▁▃▆█) per metric, dashed separators, tight typography. Maximally calm.
Theme When to use
graphite Default. Cool/dark, fits most dark terminals.
twilight Soft purples/roses — looks great on warm dark backgrounds.
linen Cream/beige — for light terminal themes.

Style and theme are independent: any of the three styles can be rendered with any of the three themes (9 combinations).

Slash commands inside Claude Code

After running cs --setup (or cs install-commands), the following slash commands work inside Claude Code:

Slash command What it does
/statusbar Show current config + lists styles/themes
/statusbar-preview Render every style × theme combination using your real data
/statusbar-style <name> Switch style (classic / capsule / hairline)
/statusbar-theme <name> Switch theme (graphite / twilight / linen)
/statusbar-reset Restore the original classic + graphite defaults

Configuration file

Persisted to ~/.claude/claude-statusbar.json:

{
  "style": "capsule",
  "theme": "twilight"
}

Override per-invocation via --style / --theme flags or CLAUDE_STATUSBAR_STYLE / CLAUDE_STATUSBAR_THEME env vars.

Install

One-line install (recommended)

curl -fsSL "https://raw.githubusercontent.com/leeguooooo/claude-code-usage-bar/main/web-install.sh?v=$(date +%s)" | bash

This installs the package, configures Claude Code statusLine, and sets up aliases. Restart Claude Code to see it.

Package managers

pip install claude-statusbar     # pip
uv tool install claude-statusbar # uv
pipx install claude-statusbar    # pipx

Then add to ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "cs"
  }
}

Usage

cs                            # show status bar (shortest alias)
cs --style capsule            # render with capsule style for one run
cs --theme twilight           # override theme
cs config show                # show persistent config
cs config set style hairline  # save style to ~/.claude/claude-statusbar.json
cs config set theme linen     # save theme
cs styles                     # list available styles
cs themes                     # list available themes
cs preview                    # render every style × theme using your real data
cs --json-output              # machine-readable JSON
cs --no-color                 # disable ANSI colors
cs --hide-pet                 # hide the ASCII pet
cs --warning-threshold 40 --critical-threshold 85
cs --no-auto-update           # disable auto-update checks

--plan still exists for older scripts, but it is deprecated and no longer changes the status line output.

Environment variables

Variable Effect
CLAUDE_STATUSBAR_STYLE=capsule Render with this style (overrides config file)
CLAUDE_STATUSBAR_THEME=twilight Render with this theme (overrides config file)
CLAUDE_STATUSBAR_NO_UPDATE=1 Disable automatic update checks
CLAUDE_STATUSBAR_HIDE_PET=1 Hide the status bar pet
CLAUDE_STATUSBAR_WARNING_THRESHOLD=40 Switch from green to yellow at 40%
CLAUDE_STATUSBAR_CRITICAL_THRESHOLD=85 Switch from yellow to red at 85%
NO_COLOR=1 Disable ANSI colors

CLAUDE_PLAN is still accepted for legacy compatibility, but it no longer changes the rendered status line.

JSON output

Use --json-output if you want a machine-readable payload instead of the formatted status line:

cs --json-output

Data source

Rate-limit data comes directly from Anthropic's official API headers exposed to Claude Code status-line commands through stdin.

Context-window usage comes from the same stdin payload that Claude Code sends to custom statusLine commands.

Requires Claude Code v2.1.80+.

Upgrading

Auto-updates once per day. To upgrade manually:

pip install --upgrade claude-statusbar

To disable auto-updates: export CLAUDE_STATUSBAR_NO_UPDATE=1

Integrations

prompt-language-coach

Install the prompt-language-coach Claude Code plugin to get IELTS band progress tracking. After setup, the status bar automatically shows your current writing level and trend:

... | Opus 4.6(90k/1M) | 📚 EN:6.0↑ JA:5.0→ | ᓚᘏᗢ
  • improved from last session · dropped · no change
  • No configuration needed — the segment appears automatically when ~/.claude/language-progress.json exists.

License

MIT

Star History

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_statusbar-2.8.0.tar.gz (38.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_statusbar-2.8.0-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

Details for the file claude_statusbar-2.8.0.tar.gz.

File metadata

  • Download URL: claude_statusbar-2.8.0.tar.gz
  • Upload date:
  • Size: 38.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for claude_statusbar-2.8.0.tar.gz
Algorithm Hash digest
SHA256 c66ff9517dbc40e7ccab1d9bc0e36ea47edb3b8b4894f62a726d44021320661a
MD5 129a078a46796fcf4ce39578a29be14d
BLAKE2b-256 fe1994045da7862bf218103d1b10effe3f29479631cce56f20f73ae4eef2bb88

See more details on using hashes here.

File details

Details for the file claude_statusbar-2.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_statusbar-2.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5d44618b13ee7e5842f0cdb0c96b6285506c1a7819e7738f94ab66de27ed667
MD5 18139b54c98ea4e8776be816e3a6f990
BLAKE2b-256 1446802c6b95590428ead8ca2e19ed9c2c414ee25ce5b8b861f25a0de28d4756

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page