[Bug] EnterWorktree creates worktree from default branch instead of HEAD

Resolved 💬 8 comments Opened Feb 20, 2026 by paper2 Closed May 5, 2026

Bug Description
Bug: EnterWorktree creates worktree from default branch instead of HEAD

The EnterWorktree tool description says "Creates a new git worktree branched from HEAD",
but the actual implementation creates the worktree from origin/<defaultBranch> (e.g., origin/main).

The internal function fetches the default branch and uses it as the base:

  1. getDefaultBranch() → "main" or "master"
  2. git fetch origin main
  3. If fetch succeeds → base = origin/main (NOT HEAD)
  4. Only falls back to HEAD if fetch fails

This means if you're on a feature branch and use EnterWorktree, the worktree
starts from origin/main instead of your current branch's HEAD.

Expected: Worktree should be based on the current HEAD as documented.

Environment Info

  • Platform: darwin
  • Terminal: iTerm.app
  • Version: 2.1.49
  • Feedback ID: 9763749b-9256-44c9-bc28-1713e78d63b6

Errors

[{"error":"Error: ENOENT: no such file or directory, open '/Users/kamitsukasa/.claude/remote-settings.json'\n    at openSync (unknown)\n    at readSync (/$bunfs/root/claude:12:1441)\n    at I2 (/$bunfs/root/claude:6070:113)\n    at k5 (/$bunfs/root/claude:6072:226)\n    at dZA (/$bunfs/root/claude:2058:49788)\n    at aLR (/$bunfs/root/claude:2058:49951)\n    at AY8 (/$bunfs/root/claude:6057:1234)\n    at Z$T (/$bunfs/root/claude:6057:2112)\n    at IB (/$bunfs/root/claude:6057:2039)\n    at xT0 (/$bunfs/root/claude:6089:5361)","timestamp":"2026-02-20T12:15:21.404Z"},{"error":"Error: ENOENT: no such file or directory, open '/Users/kamitsukasa/.claude/remote-settings.json'\n    at openSync (unknown)\n    at readSync (/$bunfs/root/claude:12:1441)\n    at I2 (/$bunfs/root/claude:6070:113)\n    at k5 (/$bunfs/root/claude:6072:226)\n    at dZA (/$bunfs/root/claude:2058:49788)\n    at rZA (/$bunfs/root/claude:2058:53056)\n    at jAB (/$bunfs/root/claude:2058:53961)\n    at <anonymous> (/$bunfs/root/claude:11359:510)\n    at <anonymous> (/$bunfs/root/claude:6105:1974)\n    at forEach (native:1:11)","timestamp":"2026-02-20T12:15:21.406Z"},{"error":"Error: ENOENT: no such file or directory, open '/Users/kamitsukasa/.claude/remote-settings.json'\n    at openSync (unknown)\n    at readSync (/$bunfs/root/claude:12:1441)\n    at I2 (/$bunfs/root/claude:6070:113)\n    at k5 (/$bunfs/root/claude:6072:226)\n    at dZA (/$bunfs/root/claude:2058:49788)\n    at aLR (/$bunfs/root/claude:2058:49951)\n    at B_ (/$bunfs/root/claude:6056:6721)\n    at JPT (/$bunfs/root/claude:262:20610)\n    at W4R (/$bunfs/root/claude:262:21105)\n    at psB (/$bunfs/root/claude:5713:11993)","timestamp":"2026-02-20T12:15:21.406Z"},{"error":"Error: ENOENT: no such file or directory, open '/Users/kamitsukasa/.claude/remote-settings.json'\n    at openSync (unknown)\n    at readSync (/$bunfs/root/claude:12:1441)\n    at I2 (/$bunfs/root/claude:6070:113)\n    at k5 (/$bunfs/root/claude:6072:226)\n    at dZA (/$bunfs/root/claude:2058:49788)\n    at aLR (/$bunfs/root/claude:2058:49951)\n    at B_ (/$bunfs/root/claude:6056:6721)\n    at CPT (/$bunfs/root/claude:262:21215)\n    at W4R (/$bunfs/root/claude:262:21177)\n    at psB (/$bunfs/root/claude:5713:11993)","timestamp":"2026-02-20T12:15:21.407Z"},{"error":"Error: ENOENT: no such file or directory, open '/Users/kamitsukasa/.claude/remote-settings.json'\n    at openSync (unknown)\n    at readSync (/$bunfs/root/claude:12:1441)\n    at I2 (/$bunfs/root/claude:6070:113)\n    at k5 (/$bunfs/root/claude:6072:226)\n    at dZA (/$bunfs/root/claude:2058:49788)\n    at aLR (/$bunfs/root/claude:2058:49951)\n    at B_ (/$bunfs/root/claude:6056:6721)\n    at ws (/$bunfs/root/claude:6057:2322)\n    at o4 (/$bunfs/root/claude:6074:3328)\n    at <anonymous> (/$bunfs/root/claude:6068:11411)","timestamp":"2026-02-20T12:15:21.407Z"},{"error":"Error: ENOENT: no such file or directory, open '/Users/kamitsukasa/.claude/remote-settings.json'\n    at openSync (unknown)\n    at readSync (/$bunfs/root/claude:12:1441)\n    at I2 (/$bunfs/root/claude:6070:113)\n    at k5 (/$bunfs/root/claude:6072:226)\n    at dZA (/$bunfs/root/claude:2058:49788)\n    at aLR (/$bunfs/root/claude:2058:49951)\n    at B_ (/$bunfs/root/claude:6056:6721)\n    at ws (/$bunfs/root/claude:6057:2322)\n    at o4 (/$bunfs/root/claude:6074:3328)\n    at <anonymous> (/$bunfs/root/claude:6068:12472)","timestamp":"2026-02-20T12:15:21.408Z"},{"error":"Error: ENOENT: no such file or directory, open '/Users/kamitsukasa/.claude/remote-settings.json'\n    at openSync (unknown)\n    at readSync (/$bunfs/root/claude:12:1441)\n    at I2 (/$bunfs/root/claude:6070:113)\n    …

Note: Content was truncated.

View original on GitHub ↗

This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗