[Desktop] Display current worktree/cwd name in app UI (statusLine equivalent)
Status Open
Maintainer reply None cached
Workaround ✓ Mentioned in thread ↓
Activity 6 comments · opened May 18, 2026
Problem
The Claude Code desktop app does not support the statusLine setting from ~/.claude/settings.json — it's CLI-only. As a result, there is no visible indicator anywhere in the desktop UI of which working directory or git worktree the current session is operating in.
Impact
This is especially painful when using git worktrees (e.g. via the /worktree skill or manual git worktree add):
- The desktop session sidebar auto-generates labels that don't match worktree names
- Window title shows generic "Claude" with no cwd info
- After closing a session, orphan worktrees accumulate in external tools (GitKraken,
git worktree list) with no way to trace which session created them - Users have to manually grep
~/.claude/projects/<encoded-path>/*.jsonlto recover the link
Configured but ignored
A working CLI statusLine config produces useful output:
🌿 suspicious-dubinsky-2af01b · claude/suspicious-dubinsky-2af01b
This appears in the CLI bottom bar, but nowhere in the desktop window.
Request
Any one of the following would resolve this:
- Honor
statusLinein desktop — render the configured command output somewhere visible (bottom bar, header chip, or near the model badge) - Auto-prefix sidebar session label with worktree name — when a session is opened in a path under
.claude/worktrees/<name>/, prepend (or suffix) the worktree name to the auto-generated session label in the sidebar - Expose
sessionNamein SessionStart hook output — let aSessionStarthook return{\"sessionName\": \"...\"}(alongside existingadditionalContext/systemMessage/etc) so users can script their own naming convention. This is the most flexible option and unblocks custom naming for any cwd pattern, not just worktrees - Session ↔ worktree link in sidebar — surface the cwd on hover, and/or show worktree name as a badge on the session card
Currently the only workaround is to manually run /rename <name> inside every new session, which defeats the convenience of automatic worktree creation.
Environment
- macOS desktop app (Claude Code)
- Multiple concurrent git worktrees under
<repo>/.claude/worktrees/ - Each worktree is a separate Claude Code session
6 Comments
Any updates on this? Agree it's pretty painful not knowing which worktree I'm in consistently
I'm also curious about this. I'd like to switch to the APP, but no status bar is a real deal-breaker for my workflow.
Any updates on this?
This would genuinely be useful to have. Sorry to bring Codex App into this, but it offers this feature and it makes the workflow noticeably smoother.
This is really inconvenient. Are there no updates? It is difficult to find worktrees that I don't use every time.
Windows data point, plus: the stale indicator cannot be corrected, because the manual directory switch is rejected as a no-op
Adding a Windows occurrence (this issue is labelled
platform:macos) and one behaviour I could notfind in any of the existing reports: the stale indicator is not just cosmetic, it is
uncorrectable from the UI.
Environment
What happens
C:\repoon branchA. Chip showsrepo/A..claude/worktrees/:git worktree add ..\repo-wt -b branch-BEnterWorktreewithpath: C:\repo-wt. The move is real and verified:Get-Location→C:\repo-wtgit rev-parse --abbrev-ref HEAD→branch-Bgit -C C:\repo rev-parse --abbrev-ref HEAD→ stillA(launch dir untouched, as intended)repo/A, with a diff count forA. This part matches #46574 and #57251.C:\repo-wtvia the app fails with"The session is already in this directory", and the chip still does not update.
Why step 5 matters
That error is correct about the real cwd — which is precisely the problem. The app's cwd state is
right, the chip is rendering the launch directory, and the no-op guard compares against the real cwd.
So the two disagree, and the guard blocks the only user action that would resync the display. The
session stays visually wrong for its whole life, with no recourse.
This reads as an internal inconsistency rather than a missing feature, so I think it survives #47159
being closed as not planned: even if the chip is never made to follow
EnterWorktreeautomatically, the manual switch should not be refused while the display disagrees with the cwd.
Impact
~35,000-line diff while the real work was a 4-file change on a different branch.
acts on — so it becomes unusable-by-caution for the rest of the session.
checkout, but using them makes the UI untrustworthy.
Notes for whoever picks this up
EnterWorktreeresult were allcorrect throughout.
#45202 (the VS Code button opening the original directory) looks like the same binding on another
surface.
CwdChangedhook event, so the transition appears observable already —the chip may just not be subscribed.
EnterWorktree(under.claude/worktrees/) behavedifferently from an existing worktree adopted via
path, as here. This report is the adopted-pathcase only.
Workaround
ExitWorktreewithaction: "keep"returns the session to the launch directory, after which manualdirectory changes are accepted again. For a correct chip from the start, launch the session with the
worktree as its directory instead of switching into one mid-session.
Prior reports (so this is not re-triaged as another duplicate)
EnterWorktree(closed, duplicate)EnterWorktreesucceeds, UI never switches (closed, duplicate)