Worktrunk

Git worktree management for parallel AI agent workflows

GitHub stars
Worktrunk logo

Worktrunk

Worktrunk is a CLI for git worktree management, designed for running AI agents in parallel.

Worktrunk's three core commands make worktrees as easy as branches. Plus, Worktrunk has a bunch of quality-of-life features to simplify working with many parallel changes, including hooks to automate local workflows.

Scaling agents becomes trivial. A quick demo:

Worktrunk demo showing wt list, wt switch, and hooks
Listing worktrees, switching, cleaning up

Context: git worktrees

AI agents like Claude Code and Codex can handle longer tasks without supervision, such that it's possible to manage 5-10+ in parallel. Git's native worktree feature give each agent its own working directory, so they don't step on each other's changes.

But the git worktree UX is clunky. Even a task as small as starting a new worktree requires typing the branch name three times: git worktree add -b feat ../repo.feat, then cd ../repo.feat.

Worktrunk makes git worktrees as easy as branches

Worktrees are addressed by branch name; paths are computed from a configurable template.

Start with the core commands

Core commands:

Task Worktrunk Plain git
Switch worktrees wt switch feat cd ../repo.feat
Create + start Claude wt switch -c -x claude feat git worktree add -b feat ../repo.feat && \ cd ../repo.feat && \ claude
Clean up wt remove cd ../repo && \ git worktree remove ../repo.feat && \ git branch -d feat
List with status wt list git worktree list (paths only)

Workflow automation:

Expand into the more advanced commands as needed

A demo with some advanced features:

Worktrunk omnibus demo: multiple Claude agents in Zellij tabs with hooks, LLM commits, and merge workflow
Multiple Claude agents in parallel with hooks, LLM commits, and merge

Install

Homebrew (macOS & Linux):

brew install max-sixty/worktrunk/wt && wt config shell install

Shell integration allows commands to change directories.

Cargo:

cargo install worktrunk && wt config shell install
Windows

On Windows, wt defaults to Windows Terminal's command. Winget additionally installs Worktrunk as git-wt to avoid the conflict:

winget install max-sixty.worktrunk
git-wt config shell install

Alternatively, disable Windows Terminal's alias (Settings → Privacy & security → For developers → App Execution Aliases → disable "Windows Terminal") to use wt directly.

Next steps

Further reading