Cuts 0.76.0. `cargo semver-checks` fails ten lints, so the bump is minor. ## Changelog filing fix Five entries had been appended to the already-tagged `## 0.75.0` section after v0.75.0 shipped (#3977/#2860, #3949 ×2, #3959, #3945). They describe changes that ship *here*, and GitHub's 0.75.0 release notes — built from the tag — never showed them. They are moved into `## 0.76.0` and rewritten to the length ceiling; `## 0.75.0` is restored byte-identical to `git show v0.75.0:CHANGELOG.md`. The mechanism is systemic: a PR appends under whatever heading is currently top, so every post-release PR lands in the shipped section until the next release opens a new one. ## `--execute` template guidance `#3977` switched `--execute` expansion to `ShellEscapeMode::Literal`, which is correct for an argv model. But the migration that v0.53.0–v0.75.0's deprecation warning *printed* — `-x sh -- -c '<old body>'` — splices a template variable into text `sh` re-parses, so a value with spaces word-splits where the old POSIX-escaped model kept it intact. Worst case is `rm -rf` against unintended paths. `--execute`'s help now documents passing the variable as a separate argument and referencing it positionally. `extending.md` already modelled that form, so no recipe changed. ## Validation - `nightly` on the cut-from tip (`baf161bf6`): all 14 jobs green — [run 33538866753](https://github.com/max-sixty/worktrunk/actions/runs/33538866753) - `wt hook pre-merge --yes`: 4713 passed - Data-loss surface reviewed across the 45-commit diff by four independent finders; adjudication in the release thread. No new destructive path — `#3977` removes one, deleting the EXEC directive file from all five shell wrappers. > _This was written by Claude Code on behalf of max-sixty_
Worktrunk Plugin for Claude Code
Git worktree management CLI integration with activity tracking.
Requires the wt CLI (worktrunk.dev) and jq (used
by the worktree-lifecycle hooks).
Features
- Configuration skill — Guides LLM-powered commit message setup, project hooks (pre-start, pre-merge), and worktree path customization
- Activity tracking — Shows which branches have active Claude sessions via indicators in
wt list /wt-switch-createcommand — Creates a worktrunk worktree and moves the current Claude session into it
Examples
Activity tracking across worktrees
The plugin installs Claude Code hooks that track session activity per branch. When a prompt is submitted, the hook sets 🤖 on that branch. When Claude finishes and waits for input, it switches to 💬. When the session ends, the marker clears.
These markers appear in wt list output, making it easy to see which worktrees have active Claude sessions — useful when running multiple instances in parallel.
Set up LLM commit message generation
The configuration skill guides through configuring an AI tool (Claude Code, Codex, llm, or aichat) and adding [commit.generation] to the user config so wt merge can auto-generate commit messages.
Add pre-start hooks to run npm install automatically
The skill configures .config/wt.toml with project hooks. Pre-start hooks run when creating worktrees, pre-merge hooks validate before merging.
Start work in a fresh worktree
/wt-switch-create fix-auth Investigate the 5-minute session timeout creates a fix-auth worktree in worktrunk's normal sibling layout (<repo>.fix-auth/), switches the session into it, and starts the task there. The branch name is optional (/wt-switch-create -- <task>). The worktree persists after the session — merge or remove it with wt merge / wt remove like any other.