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 π
Git worktrees are a great primitive
For context, AI agents like Claude Code and Codex can increasingly handle longer tasks without supervision, and it's very practical to run several in parallel. Git worktrees provide each agent with its own working directory, avoiding agents stepping on each other's changes.
But the git worktree UX is clunky. Even something as simple as "start a new worktree" is verbose:
git worktree add -b feature ../repo.feature, then cd ../repo.feature.
Worktrunk makes git worktrees easy
Worktrunk makes git 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 ec97decc 30m Add API tests
^ main ^β
./repo β‘1 β£1 6088adb3 4d Merge fix-auth:β¦
+ fix-auth β| β2 β1 ./repo.fix-auth | 127407de 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, 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
Contributing
- β Star the repo
- Open an issue β feedback, feature requests, or a worktree friction we don't yet solve
- Share: X Β· Reddit Β· LinkedIn
π Full documentation at worktrunk.dev π