Release Notes
Improved
-
Unified timeout model for list and picker: Consolidated the picker's per-command timeout and list's experimental
timeout-msinto a shared config with[list] task-timeout-ms(per-task, shared by both) and per-context wall-clock budgets ([list] timeout-ms,[switch.picker] timeout-ms). Picker default budget raised from 200ms per-command to 500ms wall-clock. (#1515, #1487) -
Pre-flight template validation for
wt switch: Switch templates (--executeand hook commands) are now validated before worktree creation, preventing orphan worktrees from syntax errors like{{ unclosed. (#1500)
Fixed
-
wt removeallowed removing default branch worktree: The default branch worktree (e.g., main) could be removed because it was trivially "integrated" into itself. Now blocked unless-Dis used. (#1460, thanks @cperalt for reporting #1448) -
Symlinks copied as regular files in
copy-ignored: Top-level gitignored symlinks were copied as regular files instead of preserved as symlinks, breaking setups like Yarn monorepos. (#1489, thanks @karmeleon for reporting #1488) -
Missing placeholders in WorkingDiff and Upstream columns: These columns showed blank instead of
⋯/·placeholders when data wasn't loaded, breaking the visual loading signal. (#1503)
Documentation
-
Step command docs: Added promote subdoc, improved swap description, linked Operations index to subcommand sections, moved aliases section after subcommands, fixed cross-filesystem fallback description. (#1505, #1495, #1502, #1513)
-
List docs: Documented placeholder symbols (
⋯,·) in help text, rewrote LLM summaries section. (#1496, #1506) -
Homepage: Added headline features (CI status, PR checkout, hash_port) and tips link. (#1501)
-
Experimental badge pills: Styled
[experimental]markers as pill badges in web docs. (#1499)
Internal
-
Deduplicated hook config resolution: Extracted shared hook-type list and made
lookup_hook_configspub(crate). (#1512) -
Agent Skills metadata: Added
metadata.internal: trueto repo-scoped skills sonpx skills addonly offers user-facing ones. (#1491)
Install worktrunk 0.29.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.29.3/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.3/worktrunk-installer.ps1 | iex"; git-wt config shell installInstall prebuilt binaries via Homebrew
brew install worktrunk && wt config shell installDownload worktrunk 0.29.3
| 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