Go to file
Kaj Kowalski bca7b59248 Drop padding and terminal width detection
Output left + right with a single space separator instead of trying
to right-align to a detected terminal width. Terminal detection is
unreliable when all fds are piped by Claude Code, and hardcoding a
width defeats the purpose. Also removes the x/term dependency.
2026-02-08 23:37:48 +01:00

claude-statusline

A custom status line binary for Claude Code, written in Go. Reads JSON from stdin (provided by Claude Code's status hook) and outputs a formatted, ANSI-colored status line.

● Opus 4 ➜ statusline git:(master)                               6k/200k

What it shows:

  • Gitea service status (green/red dot)
  • Model name
  • Current directory
  • Git branch and dirty indicator
  • Context window usage

Install

GOBIN=~/.claude go install gitea.kajkowalski.nl/kjanat/claude-statusline@latest

Or build from source:

git clone https://gitea.kajkowalski.nl/kjanat/claude-statusline.git
go build -C claude-statusline -ldflags="-s -w" -o ~/.claude/claude-statusline .

Configure Claude Code

Add to your ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/claude-statusline",
    "padding": 0
  }
}

Development

Requires Go 1.25+.

# Build
task build

# Run tests
task test

# Run tests with coverage
task test:cover

# Lint
task lint

# Run with test fixture
task run

License

MIT

Languages
Go 100%