Release Notes
Improved
-
wt switchaccepts forge PR/MR URLs:wt switch https://github.com/owner/repo/pull/123now resolves the same way aswt switch pr:123, and the URL form works anywhere apr:N/mr:Nshortcut does (positional argument and--base). Detection is shape-based, not host-based — anyhttp(s)://URL whose path contains/pull/N,/pulls/N,/-/merge_requests/N, or/pullrequest/Nmatches, covering GitHub (including Enterprise), GitLab, Gitea, and Azure DevOps, including self-hosted instances. (#2898, thanks @thiagowfx for the request) -
-vvstartup pointer namesdiagnostic.md: The-vvpointer now lists the shared log directory once with all three files it will contain —trace.log,subprocess.log, anddiagnostic.md— so the diagnostic bundle is discoverable at startup rather than only when the gist hint fires at exit. The pointer verb readsWriting to …instead ofTracing to …. (#2919)
Fixed
-
Claude Code plugin keeps unmerged branches during worktree cleanup: The plugin's
WorktreeRemovehook passed-D(--force-delete) towt remove, which removes a branch even when it carries commits that aren't merged or pushed. The hook now uses the default removal: a merged or integrated branch is removed cleanly, while one with unmerged commits is kept, with awt remove -D <branch>hint for deleting it deliberately. (#2940, thanks @jbeda for reporting) -
wt listandwt step prunedegrade gracefully on unborn worktrees: A linked worktree created withgit worktree add --orphansits on an unborn branch whoseHEADis the null OID.wt listused to showworking-tree-diff (fatal: ambiguous argument 'HEAD')and a merge-tree error in its columns, andwt step pruneaborted its entire scan withfatal: Needed a single revision, blocking pruning of every other worktree. Both now treat an unborn worktree as having no commits:wt listrenders·for the commit-dependent columns, andwt step pruneskips it (as it does locked worktrees) and continues. (#2937, thanks @nedtwigg for reporting)
Documentation
- Doc-site and
--helpprose cleanup: A writing-prose pass across the FAQ, config, list, remove, Claude Code, hook, LLM-commits, and Tips & Patterns pages (some via--helptext inafter_long_help). (#2922, #2925)
Internal
- Collapsed duplicated code paths and removed dead code left by completed cut-overs: A net reduction across the shell, git, and command layers. (#2931, #2932, #2934)
Install worktrunk 0.55.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.55.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.55.0/worktrunk-installer.ps1 | iex"; git-wt config shell installInstall prebuilt binaries via Homebrew
brew install worktrunk && wt config shell installDownload worktrunk 0.55.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