EnterWorktree resolves path to 'ready' instead of actual worktree directory

Resolved 💬 1 comment Opened Apr 18, 2026 by ayushtripathi51 Closed May 27, 2026

Bug

EnterWorktree fails with ENOENT on every invocation — it resolves the worktree path to the literal string "ready" instead of .claude/worktrees/<name>.

Version

Claude Code 2.1.114, macOS Darwin 25.4.0

Repro

EnterWorktree({ name: "any-name" })

Result:

Error: ENOENT: no such file or directory, chdir '/path/to/project' -> 'ready'

Expected: worktree created at .claude/worktrees/any-name and session chdir'd into it.

Evidence

  • git worktree add via Bash works fine — git itself is not the problem
  • No hooks, config, or project files reference the string "ready"
  • ExitWorktree after the failed call confirms the internal path: "Exited and removed worktree at ready"
  • The bug leaves the session in a half-entered worktree state (subsequent EnterWorktree calls return "Already in a worktree session")
  • 100% reproducible, not intermittent

Workaround

Create worktrees via Bash directly, bypassing EnterWorktree.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗