Desktop (SSH): folder picker cannot open worktrees under hidden .claude/worktrees
Summary
Claude Code places worktrees under .claude/worktrees/<branch> by default, but the Desktop app's folder picker for SSH remote sessions cannot open that hidden directory as the session's working directory. The product creates a location its own UI cannot open.
Steps to reproduce
- On a Linux host, create a worktree the way Claude Code does it (e.g. via
EnterWorktreeorclaude --worktree). It lands in<repo>/.claude/worktrees/<branch>. - Open Claude Code Desktop, connect to that host via SSH.
- Try to select
<repo>/.claude/worktrees/<branch>as the project folder for a new session.
Expected
The hidden worktree directory can be selected (hidden folders shown, or a path can be typed/pasted), so a session can be started directly in the worktree.
Actual
The folder picker does not show .claude and offers no way to enter the path manually. The session can only be started in the repo root, not in the worktree.
Workarounds evaluated (all unsatisfying)
- Start the session in the worktree from the CLI over SSH and later
--resumeit from Desktop: works, but defeats the point of the Desktop folder picker. - Relocate worktrees with a
WorktreeCreatehook: possible in principle, but #29716 reports the hook is not called from Desktop, and it forces every project to work around a default. - Symlink a non-hidden path to
.claude/worktrees: explicitly refused by Claude Code (docs: worktree creation fails when.claude,.claude/worktreesor the worktree dir is a symlink).
Related: #27282 (configurable worktree location) would help, but the immediate gap is the picker itself.
Suggested fix
Any of: show hidden directories in the SSH folder picker, allow typing/pasting an absolute path, or list existing worktrees of the selected repo as selectable targets.
Environment
- Desktop app connecting via SSH to a Linux host (Linux 6.8.0)
- CLI on host: 2.1.270
- Worktree created at default location
.claude/worktrees/<branch>