Commands

Command What it does Options
wt create <name> Create and enter a worktree. Alias: c. --persist; -- <command> [args...] runs a command after setup.
wt switch [<name>] Enter an existing worktree, or pick one. Alias: s. Uses fzf when available, otherwise a numbered picker.
wt ls List worktrees, branch state, dirt, and persistence.
wt done Rebase onto local trunk, fast-forward trunk, then remove the worktree. --keep preserves it; --rm forces removal.
wt ship Fetch, fast-forward trunk, run the done flow, and push trunk. --keep preserves it; --rm forces removal.
wt rm [<name>] Remove a worktree without merging. --force discards uncommitted changes.
wt persist Toggle persistence for the current worktree.
wt init Scaffold optional .wt/ project files and agent pointers.
wt prompt Print a project-setup prompt for an agent.
wt skill Print the bundled agent skill. --export <skills-dir> writes wt/SKILL.md.
wt shellenv [zsh\|bash] Print shell integration. Defaults to zsh.

All commands accept -h or --help. wt -v and wt --version print the installed version.

Everyday flow

wt create fix-login
# work and commit
wt done

done never uses the network. Use ship when the request includes syncing and pushing:

wt create add-search -- pi
# work and commit
wt ship

Both commands stop rather than guess when a worktree is dirty, trunk has diverged, or a rebase conflicts. Resolve the condition and run the same command again.