From b8c4399afe2e3cc63d6465e2579e9300dcd4287d Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Fri, 14 Aug 2026 19:15:46 -0700 Subject: [PATCH] fix(setup): BROWSE_BIN carries the .exe suffix on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On Windows, `bun build --compile` emits browse.exe, but setup's BROWSE_BIN pointed at the suffixless path — so the post-build gate (`[ ! -x "$BROWSE_BIN" ]` → "browse binary missing") could never pass on Windows even after a fully successful build, while the build step itself reported success. Closes #2291. Applied the PR's override after the IS_WINDOWS detection, and also to the second BROWSE_BIN assignment the PR predates: the direct-Codex- install migration path re-derives BROWSE_BIN from the migrated dir and would otherwise drop the suffix again on Windows. Contributed by @rroojrooj (PR #1714). Co-Authored-By: Claude Fable 5 --- setup | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/setup b/setup index 275236cd3..0028eac0f 100755 --- a/setup +++ b/setup @@ -30,6 +30,11 @@ case "$(uname -s)" in MINGW*|MSYS*|CYGWIN*|Windows_NT) IS_WINDOWS=1 ;; esac +# Windows: binaries are compiled with .exe suffix +if [ "$IS_WINDOWS" -eq 1 ]; then + BROWSE_BIN="$SOURCE_GSTACK_DIR/browse/dist/browse.exe" +fi + # ─── Symlink-or-copy helper ─────────────────────────────────── # On macOS/Linux: create a symlink (existing behavior). # On Windows without Developer Mode (MSYS2/Git Bash): plain ln -snf silently @@ -243,6 +248,11 @@ migrate_direct_codex_install() { INSTALL_GSTACK_DIR="$migrated_dir" INSTALL_SKILLS_DIR="$(dirname "$INSTALL_GSTACK_DIR")" BROWSE_BIN="$SOURCE_GSTACK_DIR/browse/dist/browse" + # Windows: binaries are compiled with .exe suffix (same as the top-level + # BROWSE_BIN assignment — this re-derivation must not drop the suffix). + if [ "$IS_WINDOWS" -eq 1 ]; then + BROWSE_BIN="$SOURCE_GSTACK_DIR/browse/dist/browse.exe" + fi } if [ "$INSTALL_CODEX" -eq 1 ]; then