Settings
Git-aware status line
A status line showing model, current dir, git branch, and dirty state — so you always know where Claude is operating.
Install to
settings.json → statusLine {
"statusLine": {
"type": "command",
"command": "input=$(cat); model=$(jq -r '.model.display_name // \"Claude\"' <<< \"$input\"); dir=$(basename \"$(pwd)\"); branch=$(git branch --show-current 2>/dev/null); dirty=$(git status --porcelain 2>/dev/null | head -1); printf '%s 📁 %s' \"$model\" \"$dir\"; [ -n \"$branch\" ] && printf ' 🌿 %s%s' \"$branch\" \"$([ -n \"$dirty\" ] && echo ' ●')\""
}
}{
"statusLine": {
"type": "command",
"command": "input=$(cat); model=$(jq -r '.model.display_name // \"Claude\"' <<< \"$input\"); dir=$(basename \"$(pwd)\"); branch=$(git branch --show-current 2>/dev/null); dirty=$(git status --porcelain 2>/dev/null | head -1); printf '%s 📁 %s' \"$model\" \"$dir\"; [ -n \"$branch\" ] && printf ' 🌿 %s%s' \"$branch\" \"$([ -n \"$dirty\" ] && echo ' ●')\""
}
} How to install
- Open
~/.claude/settings.json(user) or.claude/settings.json(project). - Merge the keys into your existing JSON — don't replace the whole file; add/override only these keys.
- Most keys live-reload.
modelandoutputStyleneed a restart to take effect. - Verify with
/config(current settings) or/doctor(diagnostics).