Skip to content

Releases: max-sixty/worktrunk

0.17.0

20 Jan 06:23

Choose a tag to compare

Release Notes

Improved

  • Per-project config overrides (Experimental): Override settings per-project in user config. Supports worktree-path, commit-generation, list, commit, and merge sections. Config precedence: CLI arg > project config > global config > default. Closes #596. (#749)
  • Search all remotes for branch existence: Branch existence checks and completions now search all remotes instead of just the primary remote, matching git's behavior. When a branch exists on multiple remotes, completions show all of them (e.g., feature ⇣ 2d origin, upstream). (#744)
  • CI detection for fork workflows: CI status detection now searches all remotes and uses gh config get git_protocol / glab config get git_protocol for fork URL protocol preference instead of inferring from existing remotes. (#753)

Fixed

  • Same-repo PR switching with stale refs: wt switch pr:N for same-repo PRs now fetches the branch before validation, fixing "Branch not found" errors when local refs were stale. (#742)
  • Project identifier collision for repos without remotes: Repos without remotes now use their full canonical path as the project identifier instead of just the directory name, preventing approval collisions between unrelated repos (e.g., ~/work/myproject vs ~/personal/myproject). Users with remoteless repos will need to re-approve commands. (#747)

Internal

  • Cross-platform path handling improvements using path-slash crate and Path::file_name(). (#750)
  • Renamed WorktrunkConfig to UserConfig internally. (#746)

Install worktrunk 0.17.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.17.0/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.17.0/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.17.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

0.16.0

19 Jan 19:50

Choose a tag to compare

Release Notes

Improved

  • Background hook verbosity: Background hooks (post-start, post-switch) now show a single-line summary by default instead of per-hook output. Use -v to see detailed output with expanded commands. We're open to feedback on this change — let us know in #690. (thanks @clutchski for reporting)

Internal

  • Fixed dead Apple documentation link in copy-ignored rationale. (#743)

Install worktrunk 0.16.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.16.0/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.16.0/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.16.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

0.15.5

19 Jan 18:16

Choose a tag to compare

Release Notes

Fixed

  • Hook execution order: Hooks now run in the order defined in the config file. Previously, HashMap iteration randomized the order. Fixes #737. (thanks @ngotchac for reporting)

Install worktrunk 0.15.5

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.15.5/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.15.5/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.15.5

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

0.15.4

19 Jan 08:01

Choose a tag to compare

Release Notes

Improved

  • Git progress for slow worktree creation: When git worktree add takes more than 400ms (common on large repos), worktrunk now shows a progress message and streams git's output instead of going silent. (#725)
  • Verbose template expansion output: -v now shows template expansion details: the template, expanded command, and any undefined variables with SemiStrict fallback behavior. (#712)
  • Shell integration hint for explicit path invocation: When running wt via explicit path (e.g., ./target/debug/wt) with shell integration configured, the warning now suggests running wt switch <branch> to use the shell-wrapped command. (#721)

Fixed

  • Unsafe upstream when creating branch from remote base: wt switch --create feature --base=origin/main no longer sets up tracking to origin/main, preventing accidental pushes to the base branch. Fixes #713. (thanks @kfirba)
  • Credential redaction in debug logs: URLs with embedded credentials (e.g., https://token@github.com/...) are now redacted in -vv debug output. (#718)
  • Hook preview shows template on expansion failure: wt hook show --expanded now displays both the error message and original template when expansion fails, instead of hiding the template. (#722)

Documentation

  • Homebrew install uses core tap: Install command updated from max-sixty/worktrunk/wt to worktrunk. (#716, thanks @chenrui333)
  • Hook docs reordered: post-start (background) is now the recommended default, with post-create for blocking dependencies. (#733)

Internal

  • Simplified GitHub/GitLab CI status detection. (#730)
  • Previous worktree gutter changed from - to + for visual consistency. (#699)

Install worktrunk 0.15.4

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.15.4/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.15.4/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.15.4

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

0.15.3

18 Jan 09:23

Choose a tag to compare

Release Notes

Fixed

  • --execute command display: Shows the expanded command in a gutter with path context instead of showing the raw template before expansion. (#708)
  • CRLF line endings in error display: Multiline errors with Windows (\r\n) or old Mac (\r) line endings now display correctly instead of falling through to single-line handling. (#707)

Documentation

  • Arch Linux install via AUR: Added installation instructions and shell integration command. (#709, #561, thanks @razor-x)

Install worktrunk 0.15.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.15.3/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.15.3/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.15.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

0.15.2

18 Jan 06:52

Choose a tag to compare

Release Notes

Improved

  • wt config shell completions <shell>: Generate static shell completion scripts for package managers and custom installation. (#701, thanks @chenrui333)
  • Debug logging threshold: Now requires -vv instead of -v for debug logging and diagnostic file generation, freeing -v for future use. (#702)

Fixed

  • Fork PR fetching: wt switch pr:N now works when origin points to a fork by fetching PR refs from the upstream remote. Shows actionable error with git remote add command if upstream remote is missing. (#704)
  • Fork PR branch naming: Fork PR branches now use the original branch name (e.g., feature-fix) instead of owner/feature-fix, so git push works correctly. (#706)
  • Config race conditions: File locking prevents corruption when multiple wt processes modify config simultaneously. (#693)
  • Nested worktree detection: Current worktree indicator (@) now shows on the correct worktree when worktrees are nested (e.g., .worktrees/ layout inside repo). (#697)
  • Symlink path resolution: Worktree commands work correctly on systems with symlinks (e.g., macOS /var/private/var). (#696)
  • Pre-remove hook failures: Shell no longer cd's to main worktree when pre-remove hooks fail, leaving user in their current location. (#692)
  • PowerShell completion robustness: Completion registration errors no longer break the shell wrapper function. (#674)

Documentation

  • Added missing orphan () symbol and no_worktree state to JSON output documentation. (#687)
  • Clarified Unicode handling in shell detection. (#700)

Internal

  • Refactored large files into focused modules. (#688)
  • Consolidated integration reason computation into Repository method. (#689)
  • Added verbose level tracking infrastructure for future -v output. (#703)
  • PowerShell template uses WORKTRUNK_BIN for test isolation. (#674)

Install worktrunk 0.15.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.15.2/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.15.2/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.15.2

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

0.15.1

16 Jan 08:31

Choose a tag to compare

Release Notes

Improved

  • wt config show diagnostics: When shell integration is not active, now shows how the command was invoked, the binary path (if different), and $SHELL environment variable. Helps diagnose setup issues. (#683)
  • Help pager follows git convention: -h never opens a pager, --help uses pager when available. Closes #583. (#651, thanks @razor-x)
  • Verbose mode logging: -v now logs command stdout/stderr and all spawned processes including background hooks, wt for-each commands, and shell probes. (#680)

Documentation

  • FAQ reordered: Questions now ordered by frequency and importance.

Internal

  • AUR package: Worktrunk now published to Arch Linux AUR on each release. (#585, thanks @razor-x)
  • Codecov Test Analytics: Integration tests now report to Codecov Test Analytics. (#682)

Install worktrunk 0.15.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.15.1/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.15.1/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.15.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

0.15.0

16 Jan 04:45

Choose a tag to compare

Release Notes

Improved

  • wt switch pr:<number> syntax (experimental): Switch directly to a GitHub PR by number. Same-repo PRs delegate to normal switch flow; fork PRs fetch from refs/pull/N/head and configure pushRemote. (#673, closes #657, thanks @wladpaiva for requesting)
  • --force hint for dirty worktrees: When wt remove fails due to uncommitted changes, the hint now shows the full command: wt remove <branch> --force. (#671)

Documentation

  • Windows install guidance: Winget as recommended install (ships git-wt by default), plus the App Execution Aliases workaround to use wt directly. Closes #133. (thanks @ctolkien for reporting, @shanselman for the aliases tip, @Farley-Chen for #648)
  • Caddy subdomain routing pattern: Clean URLs like feature-auth.myproject.lvh.me via Caddy reverse proxy with dynamic route registration.
  • tmux session per worktree pattern: Dedicated tmux session with multi-pane layout per worktree.

Install worktrunk 0.15.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.15.0/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.15.0/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.15.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

0.14.2

15 Jan 20:24

Choose a tag to compare

Release Notes

Fixed

  • wt remove --force works with dirty worktrees: The --force flag was documented to allow removal with uncommitted changes, but worktrunk's own cleanliness check blocked it before git could apply the flag. Fixes #658. (thanks @pedro93)
  • Correct output when switching to existing local branch: When switching to a local branch that tracks a remote, worktrunk incorrectly reported "Created branch X" instead of "Created worktree for X". Now only reports branch creation when git's DWIM actually creates a new tracking branch from a remote. Fixes #656. (thanks @guidupuy-ws)
  • PowerShell handles multiple wt.exe binaries: On Windows, when both Windows Terminal's wt.exe and worktrunk's wt.exe exist in PATH, shell integration errored with "Cannot convert 'System.Object[]' to the type 'System.String'". Now correctly uses the first match. Relates to #648. (thanks @Farley-Chen)

Install worktrunk 0.14.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.14.2/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.14.2/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.14.2

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

0.14.1

15 Jan 08:35

Choose a tag to compare

Release Notes

Improved

  • --base accepts commit-ish refs: wt switch --create --base now accepts HEAD, tags, commit SHAs, and relative refs (e.g., HEAD~2), not just branch names. Fixes #630. (thanks @myhau)
  • Upfront validation for target refs: wt merge and wt step commands now validate target refs before approval prompts, giving clearer "Branch X not found" errors immediately.
  • Visual hierarchy in help: Section dividers, improved heading structure, and sentence case in --help output.

Fixed

  • macOS shell freeze during copy-ignored: Atomic clonefile() on directories saturated disk I/O, blocking shell startup. Now uses per-file reflink which is slower but keeps the system responsive.
  • copy-ignored no longer copies nested worktrees: When worktree-path places worktrees inside the main worktree, copy-ignored now skips them. Also now copies symlinks (fixes node_modules/.bin/ etc.). Fixes #641. (thanks @razor-x)
  • Context-aware hints for wt config create: Hints now suggest relevant next steps based on which configs exist.

Install worktrunk 0.14.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.14.1/worktrunk-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.14.1/worktrunk-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install max-sixty/worktrunk/wt

Download worktrunk 0.14.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