Add setting to disable/refresh git branch label in conversation UI

Resolved 💬 3 comments Opened Mar 22, 2026 by bautrey Closed Mar 26, 2026

Problem

When using claude --resume, the blue git branch label in the conversation UI shows the branch from the original conversation start, not the current branch. This label never refreshes, even after:

  • Switching branches (git switch main)
  • Deleting the old branch
  • Restarting the Claude Code session with --resume

The label is frozen in gitStatus from conversation creation and persists indefinitely.

Context

  • Related: #20406 (gitBranch metadata not refreshed), #36364 (stale branch tracker)
  • I already have branch info in my custom statusLine — the built-in label is redundant
  • I use --resume frequently via custom launcher scripts and agent-deck, so "start a new conversation" is not a viable workaround

Requested

Either:

  1. Add a setting to disable the branch label entirely (e.g., "showGitBranch": false in settings.json), OR
  2. Refresh gitStatus on each session resume so it reflects the current branch, OR
  3. Both — refresh by default, with an option to hide it for users who already show branch info in their statusline

Reproduction

# Start claude on a feature branch
git switch -c feature/test
claude --resume

# Switch branches
git switch main
git branch -d feature/test

# Exit and resume
# Ctrl+C
claude --resume
# The blue label still shows "feature/test" even though it no longer exists

Environment

  • Claude Code v2.1.81
  • macOS (Darwin 25.3.0)
  • Launched via tmux with --resume flag

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗