Worktrunk addresses worktrees by branch name and computes their paths from a template, replacing multi-step git worktree commands with wt switch, wt list, wt merge and wt remove. wt switch -c -x claude feature-a creates a branch and worktree and launches Claude Code in it. Hooks run at points such as pre-start, post-start, pre-merge and pre-remove, which teams use to copy environment files, install dependencies or give each worktree its own dev-server port with the hash_port filter. It can share build caches like target/ and node_modules/ between worktrees on APFS, btrfs and XFS, show CI status per branch, check out pull requests with wt switch pr:123 and generate commit messages with an LLM.
Worktrunk ships plugins for Claude Code, Codex, OpenCode, Pi, oh-my-pi and Gemini CLI; with Claude Code and OpenCode 2 it can take over agent-created worktrees so they follow the same naming and hooks. Commands from project hooks need approval on first run. It isolates files, not merges: conflicts and review still happen when branches come back together.
