[Desktop] Display current worktree/cwd name in app UI (statusLine equivalent)

Status Open
Maintainer reply None cached
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>/*.jsonl to 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:

  1. Honor statusLine in desktop — render the configured command output somewhere visible (bottom bar, header chip, or near the model badge)
  2. 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
  3. Expose sessionName in SessionStart hook output — let a SessionStart hook return {\"sessionName\": \"...\"} (alongside existing additionalContext/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
  4. 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

View original on GitHub ↗

6 Comments

mattpanther · 2 months ago

Any updates on this? Agree it's pretty painful not knowing which worktree I'm in consistently

maitchison · 2 months ago

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.

arturmlodzinski · 2 months ago

Any updates on this?

sei0 · 2 months ago

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.

StellaCheong59 · 1 month ago

This is really inconvenient. Are there no updates? It is difficult to find worktrees that I don't use every time.

Telison · 1 month ago

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 not
find in any of the existing reports: the stale indicator is not just cosmetic, it is
uncorrectable from the UI.

Environment

  • Claude Code 2.1.179, desktop app on Windows 11 Enterprise 10.0.26200
  • git 2.52.0.windows.1

What happens

  1. Session opens in C:\repo on branch A. Chip shows repo / A.
  2. A worktree is created outside .claude/worktrees/:

git worktree add ..\repo-wt -b branch-B

  1. EnterWorktree with path: C:\repo-wt. The move is real and verified:
  • Get-LocationC:\repo-wt
  • git rev-parse --abbrev-ref HEADbranch-B
  • git -C C:\repo rev-parse --abbrev-ref HEAD → still A (launch dir untouched, as intended)
  1. Chip still shows repo / A, with a diff count for A. This part matches #46574 and #57251.
  2. The new part: changing the directory manually to C:\repo-wt via 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 EnterWorktree
automatically, the manual switch should not be refused while the display disagrees with the cwd.

Impact

  • Anyone reading along trusts the chip. In my case it advertised a feature branch with a

~35,000-line diff while the real work was a 4-file change on a different branch.

  • The Commit changes button sits beside that stale label, and it is unclear which directory it

acts on — so it becomes unusable-by-caution for the rest of the session.

  • Net effect: worktrees are the recommended way to stop concurrent sessions clobbering a shared

checkout, but using them makes the UI untrustworthy.

Notes for whoever picks this up

  • Presentation-only: cwd, branch resolution, git commands and the EnterWorktree result were all

correct throughout.

  • The indicator looks bound to the session's launch/project root rather than its live cwd.

#45202 (the VS Code button opening the original directory) looks like the same binding on another
surface.

  • The settings schema lists a CwdChanged hook event, so the transition appears observable already —

the chip may just not be subscribed.

  • Unverified: whether worktrees created by EnterWorktree (under .claude/worktrees/) behave

differently from an existing worktree adopted via path, as here. This report is the adopted-path
case only.

Workaround

ExitWorktree with action: "keep" returns the session to the launch directory, after which manual
directory 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)

  • #46574 — desktop UI shows main's branch after EnterWorktree (closed, duplicate)
  • #57251 — EnterWorktree succeeds, UI never switches (closed, duplicate)
  • #47159 — request to update the branch display mid-session (closed, not planned)
  • #60741 — desktop worktree awareness (closed, duplicate)
  • #45202 — VS Code button opens the original directory