Harness v2.9.3
Harness v2.9.3
Note: v2.9.0 and v2.9.1 failed to publish — notarization completed but the GitHub release was never created, so the download links for those versions 404. All of their changes are included in this release. If you saw a missing v2.9.0 or v2.9.1 download, this is the release you want.
A major feature release. Snooze worktrees, open any GitHub PR directly as a worktree, connect to multiple backends from a single window, and merge PRs without leaving the app.
New features
- Snooze — snooze a worktree to keep it out of the way until you're ready to return to it. (thanks @big-guy, #28)
- Open PR as worktree — open any existing GitHub pull request directly as a new worktree, so you can pick up where another session left off without manual branch setup.
- Multi-backend support — connect a single Harness window to multiple backends (your local instance plus any number of remote Harness servers) and switch between them using the chip strip at the bottom of the sidebar.
- Merge button in the PR panel — merge a pull request directly from the Harness PR panel without switching to GitHub.
- Activity costs tab — view accumulated API costs broken down by activity directly in the activity panel.
- PR status for upstream forks — PR status now tracks correctly when the pull request originates from an upstream fork, not just same-repo branches. (thanks @big-guy, #33)
- Release notes deep links in the updater — the in-app update notification now links directly to the relevant changelog section for each release. (thanks @big-guy, #35)
Improvements
- Middle-click closes terminal tabs, matching familiar browser behavior. (thanks @tresat, #40)
- Smoother repository picker flow. (thanks @ljacomet, #37)
- More readable hotkey badges in tooltips and the onboarding quest card. (thanks @big-guy, #29)
Fixes
- Duplicate Claude / Codex hook entries are no longer created when hooks are re-installed — existing entries are now matched by command substring before adding a new one. (thanks @big-guy, #43)
- Fixed the MCP worktree setup script failing in certain configurations. (thanks @ljacomet, #39)
- PR status is preserved from cache when a GitHub API fetch fails, preventing status flickers. (thanks @big-guy, #32)
- Harness tolerates unknown state slices in remote snapshots, making mixed-version setups more resilient during rolling updates.
- Fixed snooze not routing correctly to the backend in multi-backend setups.
Contributors
Huge thanks to @big-guy, @ljacomet, and @tresat for their contributions to this release. 🙏
Installing
- Apple Silicon:
Harness-2.9.3-arm64.dmg - Intel:
Harness-2.9.3.dmg
Drag Harness.app to Applications, then launch it. Existing installs will auto-update.