The ship command is a one-shot workflow that auto-commits any uncommitted changes, merges to the base branch using the two-phase merge, and tears down the worktree, tmux session, and status tracking.
Usage
bash
owt ship <name>Arguments
| Argument | Description |
|---|---|
name | Worktree name or branch name to ship |
What It Does
owt ship performs three steps in sequence:
- Auto-commit — stages and commits any uncommitted changes in the worktree
- Two-phase merge — merges the feature branch into the base branch (same as
owt merge) - Full teardown — kills the tmux session, removes the worktree directory, and clears status tracking
If any step fails, the process stops and reports the error.
Examples
Ship from CLI
bash
owt ship auth-jwtOutput:
Shipping auth-jwt...
✓ Committed uncommitted changes
✓ Merged feat/auth-jwt into main
✓ Killed tmux session: owt-auth-jwt
✓ Removed worktree
✓ Cleared status tracking
Shipped!Ship from the Control Plane
Press s on a READY TO SHIP row in the Control Plane to ship it.
When to Use Ship vs Merge
| Scenario | Command |
|---|---|
| Work is done, everything should be committed and cleaned up | owt ship |
| You want to merge but keep the worktree for follow-up work | owt merge --keep |
| You need to resolve conflicts before merging | owt merge |
| You want to delete without merging | owt delete |
See Also
owt merge— Two-phase merge with more controlowt delete— Delete without merging- The Control Plane — Visual management with ship keybinding