max-sixty /worktrunk

Worktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows

★ 10,392⑂ 375👁 23▤ 153
RustCreated 2025-10-18worktrunk.dev
10,392
stars
+0+450+1,552
375
forks
23
watchers
–
prs
–
issues
153
releases
–
discussions

README

  Worktrunk









 November 2026: Worktrunk was released at the start of the year, and has quickly become the most popular git worktree manager. It's built with love (there's no slop!). Please let me know any frictions at all; I'm intensely focused on continuing to make Worktrunk excellent, and the biggest help is folks posting problems they perceive.

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 & copy-on-write build caches.

A quick demo:

!Worktrunk Demo

  📚 Full documentation at worktrunk.dev 📚



 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 gives 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. Commands that take a branch also accept the path of the worktree it is checked out in.

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)
    
  


Expand into the more advanced commands as needed

Workflow automation:

- 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
- Interactive picker — browse worktrees with streaming CI status and diff, log, PR and comment previews
- Share build caches — ten worktrees get target/, node_modules/, etc without building or copying them (on APFS, btrfs, and XFS)
- wt list --full — CI status and AI-generated summaries per branch
- PR checkout — wt switch pr:123 to jump straight to a PR's branch
- Dev server per worktree — hash_port template filter gives each worktree a unique port
- Aliases & per-branch variables — custom wt  commands and branch-scoped state for hook templates
- ...and lots more

Multiple parallel agents, same simple commands:

!Worktrunk omnibus demo: multiple Claude agents in Zellij tabs with hooks, LLM commits, and me

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON