Desktop (SSH): folder picker cannot open worktrees under hidden .claude/worktrees

Status Open
Reported on v2.1.270
Maintainer reply None cached
Activity 0 comments · opened Sep 12, 2026

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

  1. On a Linux host, create a worktree the way Claude Code does it (e.g. via EnterWorktree or claude --worktree). It lands in <repo>/.claude/worktrees/<branch>.
  2. Open Claude Code Desktop, connect to that host via SSH.
  3. 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 --resume it from Desktop: works, but defeats the point of the Desktop folder picker.
  • Relocate worktrees with a WorktreeCreate hook: 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/worktrees or 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>

View original on GitHub ↗