Release Notes
Improved
-
Picker
alt-xflashes why a worktree wasn't removed: Whenalt-xin thewt switchpicker keeps a row instead of removing it, the reason now flashes in the picker header for a beat, rather than only draining to stderr after you quit — so the "why" is visible while the row is still in front of you. It covers both the by-design keeps (the current worktree; an unmerged branch-only row shows○ Kept <branch> — branch is unmerged) and genuine removal failures (a dirty, locked, or main worktree, shown as an error). The full diagnostic still drains on exit. The--prsloading marker now also matches the picker's other in-flight placeholders (↳ Loading open PRs…). (#3336, #3350) -
-vvdiagnostics consolidate ondiagnostic.md, led by the performance profile: A-vvrun now opens with a one-line pointer to the log directory (○ Verbose logging to .git/wt/logs/) and closes by naming what it captured —○ Logs, performance profile, and diagnostics saved @ diagnostic.md— with the rawtrace.jsonl/subprocess.logcompanions listed beneath and thegh gist createbug-report hint.diagnostic.mdnow leads with the performance profile, expanded by default and promoted above the environment / worktree / config dumps; that profile reports the 20 slowest calls (was 8) and 10 same-context redundant-command offenders (was 3). The profile lives in thediagnostic.mdbundle, andwt config state logs profilere-renders it live fromtrace.jsonl. (#3329)
Fixed
wt removepreserves your subdirectory position: Removing a worktree from a subdirectory (e.g.apps/gateway/) now lands you in the equivalent subdirectory of the destination worktree rather than at its root — matching howwt switchalready behaves, and falling back to the root when that subdirectory doesn't exist there.wt mergelands through the same handler, so it gains the same behavior. (#3344, closes #3343, thanks @caillou for reporting)
Install worktrunk 0.65.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.65.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.65.0/worktrunk-installer.ps1 | iex"; git-wt config shell installInstall prebuilt binaries via Homebrew
brew install worktrunk && wt config shell installDownload worktrunk 0.65.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