v1.44.0
This release introduces a unified worktree metadata menu, comprehensive JSON output support for CLI commands to aid automation, and improved browser integrations. It also includes an important breaking change to action IDs for keybinding configurations to prevent pane collisions and make configurations self-documenting.
🚀 Features
- Unified Metadata Menu: Added a new worktree metadata menu (press
ein the worktree pane) to easily edit a worktree's description, colour, notes, icon, and tags from a single interface. - CLI Introspection: Introduced the
describecommand to output the CLI command structure as machine-readable JSON, enabling coding agents and external scripts to discover available commands programmatically. - CLI JSON Support: Added the
--jsonflag tocreate,delete,rename,exec, andnote showcommands for structured, machine-readable output. - Enhanced
listCommand: Thelist --jsonoutput now includes worktree notes and agent session metadata. Added a--no-agentflag to omit agent data for faster script execution. - Configurable Execution Modes: Added an
--exec-modeflag forcreate --execto control shell invocation (login-shell,shell, ordirect). - Enhanced Browser Navigation: Pressing
oin the logs pane now opens the selected commit in the browser. When opening a worktree in the browser without an active Pull Request, the application now smartly falls back to opening the current branch page on GitHub or GitLab.
🐛 Bug Fixes
- Worktree Creation Flow: Fixed the issue-to-worktree flow to ensure that branch name script error notifications preserve the correct context and include worktree note script execution.
⚡ Performance Improvements
- Action Registry: Replaced an O(n) inner loop with an O(1) map lookup for updating action shortcuts, improving keybinding initialization performance.
🧹 Maintenance / Refactoring
- Namespaced Action IDs: Prefixed every command-palette action ID with its section (e.g.,
worktree-create,git-diff,nav-filter) to eliminate cross-pane collisions. - Code Quality: Extracted test helpers and deduplicated AST parsing logic to reduce boilerplate across the codebase.
- Documentation: Updated documentation to clearly explain pane-scoped keybindings and custom commands. Cleaned up the README by refining the features list and removing outdated development sections.
- Project Structure: Renamed the Claude skill directory from
worktree-managetoworktree-managerfor consistency.
📦 Dependencies
- Updated Homebrew cask to v1.43.0.
- Updated project coverage badges.
💥 Breaking Changes
- Custom Keybindings Update Required: All action IDs have been namespaced by their pane/section to prevent ambiguity. If you have configured custom keybindings in your
config.yamlusing the old bare action IDs (e.g.,create,diff,lazygit), you must update them to use the new prefixed names (e.g.,worktree-create,git-diff,git-lazygit). Please refer to the Action IDs Reference documentation for the complete list of new names.
Contributors
- @chmouel
- @github-actions
- @goreleaserbot