Release Notes
Improved
-
GitHub Enterprise support for
wt switch:wt switch pr:<number>now works with GitHub Enterprise instances by extracting the hostname from the remote URL and passing--hostnametogh. (#1408, thanks @TomRomeo) -
wt switch --no-cdprint mode: Whenwt switch --no-cdopens the interactive picker (no branch argument), selecting a branch prints its name to stdout and exits — useful for scripting. (#1445, thanks @ruudk for the feature request in #1404) -
Shadow warning for step aliases:
wt stepnow warns when a user-defined alias has the same name as a built-in step command (e.g.,commit,rebase), since clap intercepts the built-in before the alias runs. (#1389)
Fixed
-
Post-switch hooks on
wt remove: When removing the current worktree, post-switch hooks now fire correctly as the user is implicitly switched to the primary worktree. Previously, project hooks were silently skipped because config lookup failed from the removed CWD. (#1452, thanks @mjakl for reporting #1450) -
LLM commit session isolation: The recommended Claude command for commit generation now includes
--no-session-persistence, preventing commit conversations from pollutingclaude --continue. (#1454) -
Color formatting in error messages:
DetachedHeadandNotInWorktreeerror messages now support color-print styling, matching other error variants. (#1387) -
Windows error handling: Replaced
std::process::exit()with proper error returns in Windows-specific code paths, so destructors and cleanup run correctly. (#1456)
Documentation
-
Hook JSON context section: Fixed documentation that incorrectly described
hook_typeandhook_nameas extras; added the TOML hook definition showing how JSON stdin is wired. (#1360) -
wt removehelp text: Updated example heading to clarify thatwt removeworks on both worktrees and branches. (#1449) -
Xcode DerivedData cleanup recipe: Added recipe for cleaning Xcode build artifacts across worktrees. (#1423, thanks @RickeyBoy)
Internal
-
Refactoring: Extracted handler functions from
main()dispatch, replaced negated boolean variables with positive-polarity names (no_verify→verify,no_delete_branch→keep_branch). (#1394, #1388, #1393) -
Test reliability: Resolved flaky PTY/timing issues in integration tests, consolidated trivial tests into inline snapshots. (#1459, #1392, #1382, #1390)
-
CI: Added Zola docs validation to PR checks, catching broken internal anchor links before merge. (#1396)
Install worktrunk 0.29.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.29.1/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.29.1/worktrunk-installer.ps1 | iex"; git-wt config shell installInstall prebuilt binaries via Homebrew
brew install worktrunk && wt config shell installDownload worktrunk 0.29.1
| 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