Claude Code Reverts EnterWorktree Default: worktree.baseRef Gives You the Choice

Claude Code

Claude Code 2.1.133 introduces the worktree.baseRef setting, allowing developers to control whether worktrees branch from origin/ (the historical default) or from local HEAD (the behavior introduced in v2.1.128). The default reverts to origin/, meaning developers who adopted the v2.1.128 branching behavior need to explicitly set worktree.baseRef: "head" in their settings to preserve it. This change restores predictability for teams who prefer a clean branch base while offering the new local-HEAD behavior as an opt-in.


A Settings Option That Changes How Worktrees Are Created

Claude Code 2.1.133 introduces a new worktree.baseRef setting that gives developers explicit control over where new worktrees branch from. The setting accepts two values: "fresh" (the default) and "head".

What Changed and Why It Matters

When v2.1.128 shipped in early May 2026, Claude Code quietly changed the EnterWorktree command to branch from local HEAD instead of origin/<default-branch>. For developers with unpushed commits, this was a significant workflow improvement β€” those commits would carry forward into the new worktree rather than being left behind. Anthropic covered this in the 2.1.128 release notes, and some developers adjusted their workflows accordingly.

With v2.1.133, that behavior is being reverted to the historical default. The default value "fresh" causes --worktree, EnterWorktree, and agent-isolation worktrees to branch from origin/<default-branch> β€” the same behavior Claude Code had before v2.1.128. This was Anthropic's original documented behavior, and reverting makes it consistent with existing documentation.

How to Opt Into the 2.1.128 Behavior

Developers who prefer branching from local HEAD β€” keeping unpushed commits in new worktrees β€” can restore that behavior with one line in their settings:

{
  "worktree": {
    "baseRef": "head"
  }
}

This setting applies to --worktree flag, the EnterWorktree command, and agent-isolation worktrees consistently.

Choosing the Right Value

The "fresh" default is appropriate for teams where everyone pushes before starting parallel work. It guarantees a clean, synchronized starting point for each worktree and avoids confusion about which commits are in scope for a given task.

The "head" option suits solo developers or small teams who frequently have unpushed work-in-progress commits that should carry forward when spinning up a new task in a separate worktree.