Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code Statusline

Powerline-style status line for Claude Code. Reads the session JSON on stdin and prints one line of background-filled segments.

style: powerline

preview

Segments

  • Profile — WORK (red) / PERSONAL (blue), chosen from CLAUDE_CONFIG_DIR
  • Caveman mode — shown when a .caveman-active flag file exists, with level
  • Directory — basename of cwd
  • Git — branch (* if dirty) + remote repo path, tagged gh/gl/gt (Gitea/Codeberg)/git
  • Model — display name
  • Lines changed — +added -removed
  • Cost — session cost in USD
  • Context window — 10-cell bar + %, color by usage, ⚠200k flag
  • Rate limits — 5h / 7d subscription windows with reset countdown

Narrow terminals wrap onto a second line (identity row / metrics row).

Optional segments

A couple of segments depend on your personal setup and simply skip themselves if the inputs aren't present — the script still runs fine without them:

  • Profile reads the CLAUDE_CONFIG_DIR env var. A path containing claude-work shows WORK; anything else shows PERSONAL. Unset → PERSONAL.
  • Caveman mode reads an optional flag file $CLAUDE_CONFIG_DIR/.caveman-active (falls back to ~/.claude/.caveman-active). It holds a single level word (lite/full/ultra/…) and is written by the caveman Claude Code skill. No file → segment hidden. Not using caveman → ignore it.

No Claude Code skills or MCP servers are required to run the status line.

Requirements

  • bash
  • jq
  • git
  • A Nerd Font / Powerline font in the terminal (for the `` arrow + glyphs)

Install

mkdir -p ~/.claude-work
curl -fsSL https://raw.githubusercontent.com/felixalguzman/claude-code-statusline/main/statusline.sh \
  -o ~/.claude-work/statusline.sh
chmod +x ~/.claude-work/statusline.sh

Then point Claude Code at it in settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "bash /home/YOU/.claude-work/statusline.sh"
  }
}

Adjust the path to wherever you saved the script.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages