> One-sentence summary: vx worktrunk (alias vx wt) manages Git worktrees so you can run multiple AI agents in parallel without conflicts.
worktrunk is a Rust CLI tool designed for parallel AI agent workflows. It makes Git worktrees as easy to use as branches, with quality-of-life features like hooks, LLM commit messages, and per-worktree dev servers.
When running multiple AI agents (Claude Code, Codex, etc.) on the same repo, they conflict:
src/main.rssrc/main.rs → conflictSolution: Give each agent its own worktree (isolated working directory).
Main repo: ~/projects/my-app/ (main branch)
Agent 1: ~/projects/my-app.wt/feat-auth/ (feat/auth branch)
Agent 2: ~/projects/my-app.wt/feat-pay/ (feat/pay branch)
vx install worktrunk
vx worktrunk --version # verify
wt switch — Navigate Worktrees# Create new worktree + switch to it
vx wt switch -c feat/auth
# Switch to existing worktree
vx wt switch feat/auth
# Switch back to main repo
vx wt switch -
# Create AND launch an AI agent in one command
vx wt switch -c -x claude feat/auth
wt list — Show All Worktreesvx wt list # compact list
vx wt list --full # with CI status, AI-generated summaries, diff preview
wt merge — Clean Merge Workflowvx wt merge # squash merge + delete worktree + delete branch
vx wt merge --rebase # rebase merge
vx wt merge --keep # merge but keep worktree
wt remove — Clean Upvx wt remove feat/auth # remove worktree only
vx wt remove --with-branch feat/auth # remove worktree + branch
vx wt switch pr:123 # checkout PR #123 into a worktree
Configure in .worktrunk/hooks.toml:
[post_create]
command = "npm install" # auto-install deps on create
[pre_merge]
command = "vx run test" # run tests before merge
# Copy node_modules/ to new worktree (skip cold install)
vx wt switch -c --copy-cache feat/auth
worktrunk can assign each worktree a unique port (via hash_port template filter):
# In package.json:
"scripts": {
"dev": "next dev -p {{ hash_port 3000 }}"
}
# Main repo → port 3000
# feat/auth → port 3217 (deterministic hash)
# 1. Main repo: assign tasks to agents
cd ~/projects/my-app
echo "Add JWT auth" > .AITASK
# 2. Create isolated worktree for agent 1
vx wt switch -c -x claude feat/auth
# (inside worktree, agent runs autonomously)
# Agent modifies files, commits, etc.
# 3. Meanwhile, create another worktree for agent 2
vx wt switch -c -x claude feat/pay
# 4. When agents finish, merge both
vx wt merge feat/auth
vx wt merge feat/pay
worktrunk is installed and managed by vx:
# Install
vx install worktrunk
# Run (vx auto-installs if missing)
vx worktrunk --version
vx wt switch -c feat/auth
# Update
vx install worktrunk@latest
| Command | Description |
|---|---|
| ---------- | ------------- |
vx wt switch [branch] | Switch to worktree |
vx wt switch -c [branch] | Create worktree + switch |
vx wt switch -c -x | Create + run command (e.g., launch AI agent) |
vx wt switch pr: | Checkout PR into worktree |
vx wt list | List worktrees |
vx wt list --full | Detailed list with CI/LLM summary |
vx wt merge | Squash merge + cleanup |
vx wt remove [branch] | Remove worktree |
vx wt remove --with-branch [branch] | Remove worktree + branch |
vx wt switch -c to create isolated environments before making changes-x claude to automatically launch the AI agent in the new worktreevx wt merge instead of manual git merge — it handles worktree cleanup.worktrunk/hooks.toml to auto-install dependencies on create--copy-cache to share node_modules/ / target/ between worktrees共 1 个版本