Skip to content

Harness v2.9.3

Choose a tag to compare

@frenchie4111 frenchie4111 released this 22 May 15:14
· 152 commits to main since this release

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.