Session header shows git repo name, not working directory — multiple checkouts of the same repo are indistinguishable
Summary
The session header identifies a session by the git remote name instead of the working directory. When the same repo is checked out to more than one folder, every session shows an identical label and there is no way to tell which checkout a chat is targeting.
Steps to reproduce
Given a repo named MyRepo, checked out to two folders:
/Users/jdoe/Git/Main1
/Users/jdoe/Git/Main2
- Open a chat with the working directory set to
/Users/jdoe/Git/Main1/Swift - Open a second chat with the working directory set to
/Users/jdoe/Git/Main2
Actual
Both chats show the same thing in the header:
MyRepo
The two sessions are indistinguishable. Nothing indicates that one is in Main1/Swift and the other is in Main2.
Changing the working directory mid-session does not update the header either, as long as the new directory is inside the same repo — git rev-parse --show-toplevel returns the same value, so the label is unchanged.
Expected
The header should show the working directory, either instead of or alongside the repo name — for example ~/Git/Main1/Swift and ~/Git/Main2. At minimum the leaf directory would disambiguate these cases.
Why it matters
The subdirectory case is not cosmetic: a repo root and a subdirectory within it are different working contexts, with different relative paths and potentially a different CLAUDE.md in scope. The header displays the one value that is constant across every session, and omits the one value that actually varies.
Environment
- Claude Code 2.1.119 (desktop app)
- macOS 15.7.7 (Apple silicon)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗