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:
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
- Hooks — run commands on create, pre-merge, post-merge, etc
- LLM commit messages — generate commit messages from diffs
- Merge workflow — squash, rebase, merge, clean up in one command
- ...and lots more
A demo with some advanced features:
Install
Homebrew (macOS & Linux):
&&
Shell integration allows commands to change directories.
Cargo:
&&
Windows
On Windows, wt defaults to Windows Terminal's command. Winget additionally installs Worktrunk as git-wt to avoid the conflict:
Alternatively, disable Windows Terminal's alias (Settings → Privacy & security → For developers → App Execution Aliases → disable "Windows Terminal") to use wt directly.
Arch Linux:
&&
Quick start
Create a worktree for a new feature:
wt switch --create feature-auth
✓ Created branch feature-auth from main and worktree @ repo.feature-auth
This creates a new branch and worktree, then switches to it. Do your work, then check all worktrees with wt list:
wt list
Branch Status HEAD± main↕ Remote⇅ Commit Age Message
@ feature-auth + – +53 0e631add 1d Initial commit
^ main ^⇡ ⇡1 0e631add 1d Initial commit
○ Showing 2 worktrees, 1 with changes, 1 column hidden
The @ marks the current worktree. + means uncommitted changes, ↕ means unpushed commits.
When done, either:
PR workflow — commit, push, open a PR, merge via GitHub/GitLab, then clean up:
Local merge — squash, rebase onto main, fast-forward merge, clean up:
wt merge main
◎ Generating commit message and committing changes... (2 files, +53, no squashing needed)
Add authentication module
✓ Committed changes @ a1b2c3d
◎ Merging 1 commit to main @ a1b2c3d (no rebase needed)
* a1b2c3d Add authentication module
auth.rs | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
lib.rs | 2 ++
2 files changed, 53 insertions(+)
✓ Merged to main (1 commit, 2 files, +53)
◎ Removing feature-auth worktree & branch in background (same commit as main, _)
○ Switched to worktree for main @ repo
For parallel agents, create multiple worktrees and launch an agent in each:
The -x flag runs a command after switching; arguments after -- are passed to it. Configure post-start hooks to automate setup (install deps, start dev servers).
Next steps
- Learn the core commands:
wt switch,wt list,wt merge,wt remove - Set up project hooks for automated setup
- Explore LLM commit messages, fzf-like selector, Claude Code integration, CI status & PR links
- Run
wt --helporwt <command> --helpfor quick CLI reference
Further reading
- Claude Code: Best practices for agentic coding — Anthropic's official guide, including the worktree pattern
- Shipping faster with Claude Code and Git Worktrees — incident.io's workflow for parallel agents
- Git worktree pattern discussion — Community discussion in the Claude Code repo
- git-worktree documentation — Official git reference