a06aa4c549e51c7d1ec5d5b5083ed18e4db1bb2c
When Claude Code captures stdout, term.GetSize on stdout fails and falls back to 80 columns. Now tries stderr and stdin first (which remain connected to the TTY), then COLUMNS env var, then 80.
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
Description
A statusline for claude.
https://gitea.kajkowalski.nl/kjanat/claude-statusline#readme
Languages
Go
100%