Skip to content

fix(desktop): probe legacy Goose install dir on Windows - #3248

Merged
wpfleger96 merged 1 commit into
mainfrom
duncan/legacy-goose-probe
Jul 28, 2026
Merged

fix(desktop): probe legacy Goose install dir on Windows#3248
wpfleger96 merged 1 commit into
mainfrom
duncan/legacy-goose-probe

Conversation

@wpfleger96

Copy link
Copy Markdown
Member

Goose's pre-#2680 Windows installer unpacked the CLI to %USERPROFILE%\goose\goose.exe. That directory is on no standard PATH, and common_binary_paths() never probed it, so users who installed Goose with the legacy installer stayed permanently undiscovered — the residual half of #2239.

resolve_command_uncached finds binaries outside PATH only by scanning common_binary_paths(), so adding the directory there is the whole fix: Windows basename expansion already supplies goose.exe/.cmd/.bat, and discovery, readiness probes, and spawn all route through the same shared resolver. No Goose-specific resolution path is introduced. The entry sits beside the existing Codex %LOCALAPPDATA%\Programs\OpenAI\Codex\bin probe in the same #[cfg(windows)] block.

The regression test is #[cfg(windows)] and is CI-reachable, not dead code — the desktop-build-windows job runs cargo test --manifest-path desktop/src-tauri/Cargo.toml --target $env:TARGET on windows-latest. It asserts the probe list rather than planting a binary: common_binary_paths is a process-lifetime OnceLock, so a test cannot deterministically re-seed USERPROFILE, and planting an executable under the real user profile is not an acceptable side effect. Verified locally by widening the cfg to build on macOS — the test passes with the probe and fails without it.

The check-file-sizes.mjs override for managed_agents/discovery.rs moves 1835 → 1841, the exact post-cargo fmt gate count. Verified both directions: 1841 passes, 1840 fails.

Goose's pre-#2680 Windows installer unpacked to %USERPROFILE%\goose\goose.exe.
That directory is on no standard PATH and common_binary_paths() never probed
it, so those installs were permanently undiscovered (#2239 residual).

Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
@wpfleger96
wpfleger96 requested a review from a team as a code owner July 28, 2026 00:43
@wpfleger96
wpfleger96 merged commit be13b4b into main Jul 28, 2026
25 checks passed
@wpfleger96
wpfleger96 deleted the duncan/legacy-goose-probe branch July 28, 2026 01:30
johnmatthewtennant added a commit that referenced this pull request Jul 28, 2026
* origin/main:
  Publish symbol-bearing debug relay images (#3250)
  feat(tracing): add datastore tracing plumbing (#2760)
  fix(buzz-acp): accept id-keyed config options when resolving model switch (#2795)
  fix(desktop): probe legacy Goose install dir on Windows (#3248)
  refactor(desktop): extract install command execution into install_exec (#3251)

Signed-off-by: John Tennant <jtennant@squareup.com>
tlongwell-block pushed a commit that referenced this pull request Jul 28, 2026
* origin/main: (70 commits)
  feat(relay): make Postgres pool size configurable, default 50 (#3191)
  Publish symbol-bearing debug relay images (#3250)
  feat(tracing): add datastore tracing plumbing (#2760)
  fix(buzz-acp): accept id-keyed config options when resolving model switch (#2795)
  fix(desktop): probe legacy Goose install dir on Windows (#3248)
  refactor(desktop): extract install command execution into install_exec (#3251)
  Polish composer activity layout and transitions (#3151)
  feat(invites): add use-limited invite links (#3141)
  fix(node): bump Buzz-supplied Node runtimes past OpenClaw's >=24.15.0 floor (#3218)
  fix(desktop): preserve thread anchor through layout reflow (#3212)
  feat(search): parse from:/in:/after:/before: and pass them in the filter (#2871)
  fix(desktop): fetch join policies through native networking (#2862)
  fix(desktop): republish agent identity records when a persona rename propagates (#2607)
  fix(desktop): keep project Inbox previews compact (#3193)
  Inbox refactor (#2045)
  Fix composer selection formatting and drop overlay (#3172)
  Refine pending message status (#3153)
  feat(admin): show reported message content in report detail (#3149)
  fix(desktop): recover full local storage on startup (#3182)
  Replace mobile reconnect banners with skeleton shimmer (#3143)
  ...

Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant