Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By tmck-code
Displays live status information — tokens, context, model, subagents, burn rate, skills, plugins, specs, and task lists — directly in the Claude Code status bar using a Python renderer.
npx claudepluginhub tmck-code/yet-another-statusline --plugin yasWire yet-another-statusline into Claude Code — writes statusLine.command to ~/.claude/settings.json. Run once after plugin install, and again after every upgrade to update the versioned path.
Unwire yet-another-statusline from Claude Code — removes statusLine.command from ~/.claude/settings.json and deletes the renderer's runtime state. Run before (or after) `claude plugin uninstall yas`, which only deletes the plugin cache and leaves the statusLine config behind.
Most common form is displaying these stats, which include the loaded plugins & skills. Extra sections appear as needed
Via Claude Code plugin (Requires Python 3.10+, and a Nerd Font to render the icons)
# add the marketplace
claude plugin marketplace add tmck-code/yet-another-statusline
# to install or update
claude plugin install yas@yet-another-statusline
claude -p "/yas:init"
A dummy session to demonstrate the layout:
The statusline also renders differently according to available width
| mode | width | screenshot |
|---|---|---|
| "medium" | <=80 pixels | |
| "narrow" | <=55 pixels |
The statusline is configured through CLI arguments and environment variables, plus a couple of optional files under your Claude config dir (~/.claude by default).
Pass these in the statusLine.command of your ~/.claude/settings.json:
| arg | values | default | description |
|---|---|---|---|
--theme NAME | claude-dark, claude-light, catppuccin-latte, catppuccin-mocha | claude-dark | colour theme |
--bg-shift DIR | warm, cool | warm | direction of the background gradient shift |
Both also accept the --theme=NAME / --bg-shift=DIR form.
| var | default | description |
|---|---|---|
CLAUDE_CONFIG_DIR | ~/.claude | base dir for config/state files (theme file, width file, token-rate log, output payloads) |
CLAUDE_STATUSLINE_THEME | (unset) | theme name; overrides the config file, overridden by --theme |
STATUSLINE_TOKEN_WINDOW | 60 | seconds; rolling window used to compute the token throughput rate |
COLUMNS | (unset) | terminal-width fallback when tmux / width-file detection fail |
The theme is chosen by the first of these that names a known theme:
--theme NAME CLI argCLAUDE_STATUSLINE_THEME env var~/.claude/statusline-theme file (contents = theme name)claude-dark)Width is detected by the first source that returns a positive value:
tmux display-message -p '#{pane_width}'~/.claude/terminal-width fileCOLUMNS env varshutil.get_terminal_size() / /dev/tty ioctlclaude -p "/yas:uninstall"
claude plugin uninstall yas@yet-another-statusline
claude plugin uninstall only deletes the plugin cache — it leaves statusLine.command
in ~/.claude/settings.json pointing at the now-missing script, so the statusline keeps
trying to run. Run /yas:uninstall first to remove that config (it backs up
settings.json, and skips a custom non-yas statusLine) and clear the renderer's runtime
logs. Reload Claude Code afterwards.
make test # run pytest suite
make demo # animated demo at current terminal width
make statusline/test # same as demo — use during development
make demo/img # render snapshots into demo/
make mon/run # launch multi-session monitor TUI
Enable the git pre-commit hooks (runs ruff / mypy / pytest on staged Python before each commit):
make hooks
Edits to the checkout take effect immediately — no reinstall step.
git clone https://github.com/tmck-code/yet-another-statusline
cd yet-another-statusline
Wire statusLine.command in ~/.claude/settings.json to point at the checkout:
"statusLine": {
"async": true,
"command": "python3 \"/path/to/yet-another-statusline/claude/statusline_command.py\"",
"type": "command"
}
Note: if you also have the plugin installed,
claude plugin installwill overwritestatusLine.commandback to the plugin cache path. Either uninstall the plugin or bump the version in.claude-plugin/plugin.jsonbefore reinstalling to keep your local path.
This prompts before setting core.hooksPath. CI runs the same checks on every push, so the hook is fast local feedback rather than the gate.
Share bugs, ideas, or general feedback.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Real-time statusline HUD for Claude Code - context health, tool activity, agent tracking, and todo progress
A comprehensive statusline dashboard for Claude Code — session summary, quota bars, agent tracker, MCP health, message history, and more. All at a glance, no slash commands needed.
Status line with context window, cost, and model info
A rich statusline for Claude Code — context, rate limits, tool activity, token costs. Pure bash, no dependencies beyond jq.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Memory compression system for Claude Code - persist context across sessions
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim