single Go binary · zero deps

Your branches,
everywhere at once.

wt makes git worktrees ergonomic — fork your uncommitted state into a fresh worktree, keep long-lived branches permanently checked out, and jump between them in a keystroke.

$ curl -fsSL https://wt.glevski.com/install.sh | sh
~/app — zsh
wt fork -c fix/login
wt: carried over: 1 staged, 2 unstaged file(s)
wt: created worktree 'fix-login'
fix-login wt peek origin/main
wt: peek ready at ~/worktrees/app/peek-a41f09c
wt finish -d -b
wt: removed 'fix-login', branch deleted — back home

Stop stashing. Start forking.

wt fork
WIP travels with you

Staged, unstaged and untracked changes carry into a fresh worktree — split preserved, original untouched.

wt base
main, always on screen

Permanent view-only worktrees for long-lived branches; one command fast-forwards them all.

wt deps
node_modules follows, atomically

Heavy paths copy in the background after you jump — a half-copied dir never appears.

wt peek
Snapshot any revision

A disposable, branchless export of any sha, tag or remote branch — safe even mid-rebase.

wt copy
.env comes along

Ignored files copy into every new worktree automatically — runnable the moment you land.

wt global
Every repo, from anywhere

A machine-wide registry: list, inspect and jump into any project's worktrees from any directory.

FIVE KINDS OF LOCATION root repowt worktreebaseexternalpeek