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:

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:

FieldDescription
showGitBranchCurrent branch name
showGitStatusUncommitted file count
showSyncStatusAhead/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

Topics: claude-code setup workflow