December 2025: I've been using Worktrunk as my daily driver, and am releasing it as Open Source this week; I think folks will find it really helpful. It's built with love (there's no slop!). If social proof is helpful: I also created PRQL (10k stars) and am a maintainer of Xarray (4k stars), Insta, & Numbagg.
Worktrunk is a CLI for git worktree management, designed for parallel AI agent workflows. Git worktrees give each agent an isolated branch and directory; Worktrunk adds branch-based navigation, unified status, and lifecycle hooks. Creating a new agent workspace is as immediate as git switch.
Here's a quick demo:

π Full documentation at worktrunk.dev π
Context: git worktrees
AI agents like Claude and Codex can increasingly handle longer tasks without supervision, and it's very practical to run several in parallel. On a single file tree, they step on each other's uncommitted changes.
Git worktrees are a great primitive for this: multiple working directories sharing one .git.
But the UX is clunky: git worktree add -b feature ../repo.feature, then cd ../repo.feature, then git worktree remove ../repo.feature.
What Worktrunk adds
Worktrunk makes worktrees easy to use β branch-based navigation, unified status, and workflow automation.
Core commands:
| Task | Worktrunk | Plain git |
|---|---|---|
| Switch worktrees | wt switch feature |
cd ../repo.feature |
| Create + start Claude | wt switch -c -x claude feature |
git worktree add -b feature ../repo.feature && cd ../repo.feature && claude |
| Clean up | wt remove |
cd ../repo && git worktree remove ../repo.feature && git branch -d feature |
| List with status | wt list |
git worktree list (paths only) |
Workflow automation:
- Lifecycle hooks β run commands on create, pre-merge, post-merge
- LLM commit messages β generate commit messages from diffs via llm
- Merge workflow β squash, rebase, merge, clean up in one command
- ...and lots more.
Core commands in practice
Create a worktree for a new task:
Switch to an existing worktree:
See all worktrees at a glance:
$ wt list
Branch Status HEADΒ± mainβ Path Remoteβ
Commit Age Message
@ feature-api + ββ‘ +54 -5 β4 β1 ./repo.feature-api β‘3 28d38c20 30m Add API tests
^ main ^β
./repo β‘1 β£1 2e6b7a8f 4d Merge fix-auth:β¦
+ fix-auth β| β2 β1 ./repo.fix-auth | 1d697d5b 5h Add secure tokenβ¦
βͺ Showing 3 worktrees, 1 with changes, 2 ahead
Clean up when done:
& )
Install
Homebrew (macOS & Linux):
Cargo:
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 picker, Claude Code integration
- 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
π Full documentation at worktrunk.dev π