Customizing the Status Line
Table of content
The status line sits at the bottom of Claude Code. It shows context about your current session. With customization, it becomes a dashboard for your AI workflow.
What the Status Line Shows
By default, the status line displays:
- Model name - Which Claude model is active
- Current directory - Your working path
- Git branch - Active branch name
- Token usage - Progress bar showing context consumption
This baseline information helps you stay oriented. But you can show much more.
Configuration Options
Open Claude Code settings to customize the status line:
claude config set statusLine.showModel true
claude config set statusLine.showDirectory true
claude config set statusLine.showGitBranch true
claude config set statusLine.showGitStatus true
claude config set statusLine.showTokens true
Git Status Fields
The git-related options provide workflow awareness:
| Field | Description |
|---|---|
showGitBranch | Current branch name |
showGitStatus | Uncommitted file count |
showSyncStatus | Ahead/behind origin |
Enable all three for full git visibility:
claude config set statusLine.showGitBranch true
claude config set statusLine.showGitStatus true
claude config set statusLine.showSyncStatus true
Now you see at a glance: main ↑2 ↓1 [3 files] - on main, 2 commits ahead, 1 behind, 3 uncommitted files.
Token Progress Bar
The token display shows how much context you’ve consumed:
[████████░░░░░░░░░░░░] 42% tokens
This visual feedback prevents surprises. When the bar fills, context resets soon. Plan your prompts accordingly.
Custom Status Scripts
For advanced users, custom scripts can inject additional information:
# ~/.config/claude/status-script.sh
#!/bin/bash
# Show current time
echo "$(date +%H:%M)"
# Show active environment
if [ -n "$VIRTUAL_ENV" ]; then
echo "venv:$(basename $VIRTUAL_ENV)"
fi
# Show Docker status
if docker info &>/dev/null; then
containers=$(docker ps -q | wc -l | tr -d ' ')
echo "docker:$containers"
fi
Register the script:
claude config set statusLine.customScript ~/.config/claude/status-script.sh
The script output appears in the status line, refreshed periodically.
Example Configurations
Minimal
Show only what matters for focused work:
claude config set statusLine.showModel true
claude config set statusLine.showTokens true
Git-Focused
For active development with version control:
claude config set statusLine.showGitBranch true
claude config set statusLine.showGitStatus true
claude config set statusLine.showSyncStatus true
claude config set statusLine.showTokens true
Full Dashboard
Maximum context awareness:
claude config set statusLine.showModel true
claude config set statusLine.showDirectory true
claude config set statusLine.showGitBranch true
claude config set statusLine.showGitStatus true
claude config set statusLine.showSyncStatus true
claude config set statusLine.showTokens true
claude config set statusLine.customScript ~/.config/claude/status-script.sh
Why This Matters
The status line reduces cognitive load. Instead of running git status or checking which model you’re using, the information is always visible.
Token awareness is particularly valuable. Knowing you’re at 80% context lets you wrap up the current task before hitting limits.
Git sync status prevents the “forgot to push” problem. See at a glance if your branch is synchronized.
Build the status line that matches your workflow. Start minimal, add fields as you notice information gaps.
Next: Configuring Keybindings
Get updates
New guides, workflows, and AI patterns. No spam.
Thank you! You're on the list.