github max-sixty/worktrunk v0.29.1
0.29.1

latest releases: v0.44.0, v0.43.0, v0.42.0...
one month ago

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 --hostname to gh. (#1408, thanks @TomRomeo)

  • wt switch --no-cd print mode: When wt switch --no-cd opens 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 step now 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 polluting claude --continue. (#1454)

  • Color formatting in error messages: DetachedHead and NotInWorktree error 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_type and hook_name as extras; added the TOML hook definition showing how JSON stdin is wired. (#1360)

  • wt remove help text: Updated example heading to clarify that wt remove works 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_verifyverify, no_delete_branchkeep_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 install

Install 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 install

Install prebuilt binaries via Homebrew

brew install worktrunk && wt config shell install

Download 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 install

Install via Winget (Windows)

winget install max-sixty.worktrunk && git-wt config shell install

Install via AUR (Arch Linux)

paru worktrunk-bin && wt config shell install

Don't miss a new worktrunk release

NewReleases is sending notifications on new releases.