Release Notes
Improved
-
wt step promotecommand (experimental): Exchange branches between the main worktree and any linked worktree, including swapping gitignored files (build artifacts,.env,node_modules/). Shows mismatch state inwt listwith ⚑ indicator; restore with no arguments from main worktree. Docs (#789, thanks @zpeleg for the feature request in #738) -
Instant worktree removal:
wt removenow renames the worktree to a staging path before spawning the background cleanup, making the path unavailable immediately instead of after a 1-second sleep. Falls back to legacy removal if rename fails (cross-filesystem, permissions). (#773) -
Graceful recovery from deleted worktree directory: When a worktree is removed while a shell is still in that directory,
wt switchandwt listnow recover automatically — find the parent repository from$PWDand proceed without pre-switch hooks. (#1146, thanks @davidbeesley for reporting #1109) -
PR/MR support promoted out of experimental: GitHub PR (
pr:<number>) and GitLab MR (mr:<number>) targets inwt switchare now considered stable — 11 minor releases with no interface changes since v0.15.0. (#1114)
Fixed
-
SSH URLs with ports: Remote matching now handles
ssh://git@host:2222/owner/repo.git— ports are stripped during URL parsing instead of rejecting the URL. (#1151) -
Config path resolution:
wt config createnow resolves the same path as config loading, fixing a mismatch when using XDG directories. (#1135, thanks @christopher-buss for reporting #1134) -
PTY prompt echo interleaving: Approval prompts no longer intermix with echoed input on slower systems. Uses quiescence detection instead of a fixed sleep. (#1133)
-
Better diagnostics when foreground removal fails: When
wt remove --foregroundfails with "Directory not empty", now shows the remaining top-level entries (capped at 10) and suggests trying background removal. (#1150) -
Output formatting consistency: Hints use canonical "To X, run Y" phrasing, config update hints render in gutter blocks with correct
-Cflag for linked worktrees, and ANSI color nesting fixed in hint messages. (#1138, #1137) -
Panic-safe error propagation: Replaced
.unwrap()and.expect()calls in functions returningResultwith proper?andbail!error propagation. (#1127)
Documentation
-
Bot trigger renamed: CI bot responds to
@worktrunk-botinstead of@claude, matching the actual GitHub username. (#1149) -
wt step promotedocumented in worktree model: The branch-exchange operation is noted as the sole exception to the "never retarget a worktree" rule. (#1154)
Internal
-
CI security model: Rulesets, token consolidation, and environment protection hardened for GitHub Actions workflows. (#1118)
-
Nightly CI workflows: Automated review of Claude CI session logs and 24-hour code quality sweep for bugs, missing tests, and stale docs. (#1111)
-
CI reviewer and bot improvements: Better failure tracing, Dependabot PR reviews, thread resolution ordering, LGTM dedup, actionable feedback, automatic response to bot PR comments, and graceful handling of mentions on merged/closed PRs. (#1117, #1128, #1129, #1131, #1141, #1142, #1145, #1147, #1153, #1158, #1164)
Install worktrunk 0.27.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.27.0/worktrunk-installer.sh | sh && wt config shell installInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.27.0/worktrunk-installer.ps1 | iex"; git-wt config shell installInstall prebuilt binaries via Homebrew
brew install worktrunk && wt config shell installDownload worktrunk 0.27.0
| File | Platform | Checksum |
|---|---|---|
| worktrunk-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| worktrunk-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| worktrunk-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| worktrunk-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| worktrunk-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Install via Cargo
cargo install worktrunk && wt config shell installInstall via Winget (Windows)
winget install max-sixty.worktrunk && git-wt config shell installInstall via AUR (Arch Linux)
paru worktrunk-bin && wt config shell install