claude-statusline
A fuller status line for Claude Code: workspace, git branch, model, context usage, and rate limits.


It runs on Linux, WSL, macOS, and Windows. On its own it prints one clean line. If you also use claude-buddy (Linux and macOS), your info tucks into the empty margin next to buddy's ASCII art instead of taking its own line.
Supported platforms
| Platform | Notes |
|---|
| Linux (Debian, Ubuntu, Fedora, and the rest) | Full support. |
| WSL (any distro) | Full support. |
| macOS | Full support. |
| Windows (PowerShell) | Full support. You get the single line; claude-buddy isn't available on Windows. |
The renderer is one Python file that behaves the same everywhere. Each platform adds only a small launcher that passes Claude Code's JSON to that renderer: a bash script on Linux, WSL, and macOS, and a PowerShell script on Windows.
What you get
- Workspace: the last two path components, in bold.
- Branch and model: your current git branch and the model you're on.
- Effort: the active reasoning effort, like
max effort. It disappears when the model has no effort level.
- Context: a colour-coded bar with the used percentage and the window size (
200K or 1M). You can switch the percentage to a token count, or hide the bar.
- 5h and 7d: rate-limit usage, with how long until each window resets.
- Burn-rate flag: a 🔴/🟢 after each reset time. 🔴 means you'll hit the limit before the window resets; 🟢 means you're on pace or have room to spare.
The colours read like a traffic light: green means you have room, yellow means it's filling up, red means you're close to the limit.
Requirements
- python3.
- git, optional, used only to read the current branch.
- claude-buddy, optional, Linux and macOS only. The status line detects it at runtime when it's present.
Install
On Linux, WSL, or macOS:
git clone https://github.com/archius11/claude-statusline.git
cd claude-statusline
./install.sh
On Windows, in PowerShell:
git clone https://github.com/archius11/claude-statusline.git
cd claude-statusline
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
Restart Claude Code afterwards and you're set.
The installer copies the renderer, the schema, and the launcher for your OS into your Claude config directory, then points the statusLine entry in settings.json at the launcher. If you already had a status line, it backs that one up first, so uninstalling puts it back. Running it again is safe, and it respects CLAUDE_CONFIG_DIR if you keep more than one profile.
⚠️ Already using claude-buddy? Both tools write the same settings.json key, so install claude-statusline last, after buddy. If you installed it first, or a later buddy update grabbed the status line back, just run the installer again to take it over. Uninstalling restores buddy's bar exactly.
Install as a plugin, or wire it up by hand
There's a plugin manifest under .claude-plugin/. Once you enable the plugin, run /statusline-install to finish the wiring. Claude Code plugins can't set the main statusLine themselves, so that command runs the same installer and picks the right launcher for your OS.
To do it by hand, copy the files from statusline/ somewhere, keeping claude-statusline-render.py, claude-statusline.schema.json, and your platform's launcher together in one directory. Then point settings.json at the launcher.
On Linux, WSL, or macOS:
{
"statusLine": {
"type": "command",
"command": "/absolute/path/to/statusline.sh",
"padding": 1,
"refreshInterval": 1
}
}
On Windows:
{
"statusLine": {
"type": "command",
"command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File 'C:\\path\\to\\statusline.ps1'",
"padding": 1,
"refreshInterval": 1
}
}
Configure
Type /statusline in Claude Code to toggle segments and adjust thresholds. There's no file to edit, and changes show up on the next refresh, about a second later.
/statusline → guided menu
/statusline branch disable → toggle a segment
/statusline yellow 180k → set a context threshold
/statusline ctx-display tokens → show context as tokens instead of %
/statusline show → print the current config
/statusline reset → restore defaults
Or edit the config file directly