claude-code-statusline
A customizable status line for Claude Code. Shows model, context usage, tokens, cost, git status, and more β right in your terminal.

Features
π Context window β visual progress bar with color-coded thresholds (block, solid, ASCII, gradient, or percent)
π€ Model info β see which Claude model is active
π’ Token usage β input/output counts, cache hit rates, session totals β four verbosity levels
π° Cost tracking β running session cost in USD
πΏ Git status β current branch, modified/added file counts, lines changed
β±οΈ Duration β session elapsed time
π Directory β current working directory
π¨ 8 themes β default, catppuccin, dracula, gruvbox, nord, tokyo-night, powerline, rounded
π Adaptive layout β components flow across 1β3 lines, responsive to terminal width
π§ Setup wizard β interactive configurator with live preview, back navigation, and auto-wiring to Claude Code

Install
Homebrew (macOS/Linux):
brew install saarshe/tap/claude-code-statusline
Go:
go install github.com/saarshe/claude-code-statusline@latest
Note: Make sure $HOME/go/bin is in your PATH. Add export PATH="$PATH:$HOME/go/bin" to your shell config if needed.
Or download a binary from Releases.
Setup
Run the interactive wizard:
claude-code-statusline init
This lets you pick which components to show, choose a theme, and automatically wires it into Claude Code's settings.json.
How it works
Claude Code supports a custom status line program. On every assistant response, it pipes a JSON blob (model, tokens, cost, context, etc.) to stdin of the configured command. This tool reads that JSON and renders a styled, multi-line status bar.
The wizard adds the following to your ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "claude-code-statusline"
}
}
Configuration
Config lives at ~/.claude-code-statusline/config.toml. The wizard generates this for you, but you can edit it manually.
License
MIT