Skip to content

fix: fall back to x64 binary on Windows ARM64#1269

Merged
ctate merged 1 commit into
vercel-labs:mainfrom
EternalRights:fix/windows-arm64-install
Jun 12, 2026
Merged

fix: fall back to x64 binary on Windows ARM64#1269
ctate merged 1 commit into
vercel-labs:mainfrom
EternalRights:fix/windows-arm64-install

Conversation

@EternalRights

@EternalRights EternalRights commented Apr 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes #1256

On Windows ARM64, the postinstall script previously tried to download agent-browser-win32-arm64.exe from GitHub releases. Since there's no native ARM64 build in CI, this resulted in a 0-byte file and a broken install.

Changes

  • Platform detection: When running on Windows ARM64, the postinstall script now falls back to the x64 binary (agent-browser-win32-x64.exe). x64 binaries run fine on ARM64 via Windows' built-in emulation.
  • Shim fix: Unified the architecture detection in fixWindowsShims() to use the same effectiveArch variable, eliminating the redundant local arch check.
  • User-facing hint: Added a log message when the fallback is active so users know they're running the x64 binary.

Testing

  • Verified that Chrome for Testing does not provide a win-arm64 platform (only win32 and win64).
  • Confirmed the x64 binary agent-browser-win32-x64.exe exists in all recent releases (v0.26.0, etc.).
  • On Windows ARM64, the script will now:
    1. Resolve effectiveArch to x64
    2. Download agent-browser-win32-x64.exe
    3. Fix .cmd/.ps1 shims to point to the x64 binary

@vercel

vercel Bot commented Apr 18, 2026

Copy link
Copy Markdown
Contributor

@EternalRights is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.

@EternalRights

Copy link
Copy Markdown
Contributor Author

Hey folks, just wanted to make sure this didn’t slip through. The Windows ARM64 fallback is a pretty small change — happy to add tests or adjust if needed.

@ctate

ctate commented May 7, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the fix, @EternalRights! Can you please sign your commits before merging?

Windows ARM64 does not have a native build in CI. Previously, the
postinstall script tried to download �gent-browser-win32-arm64.exe
which does not exist in GitHub releases, resulting in a 0kb install.

Fall back to the x64 binary on Windows ARM64, which runs via the OS
built-in x64 emulation. This matches the behavior of the existing
ixWindowsShims() function and unifies the arch detection logic.

Fixes vercel-labs#1256
@EternalRights
EternalRights force-pushed the fix/windows-arm64-install branch from 795d55f to e2f11d8 Compare May 7, 2026 15:24
@EternalRights

Copy link
Copy Markdown
Contributor Author

@ctate done, signed and force-pushed. let me know if anything else is needed.

@sitefinitysteve

sitefinitysteve commented Jun 12, 2026

Copy link
Copy Markdown

This is taking so long to apply... other fix is to just replace the arm exe with the x64 one locally... do it on a batch or something after each update

@echo off
echo Running Claude update...
call claude update

echo.
echo Installing agent-browser...
rem Stop any running daemon first - a live process locks the old exe and npm's cleanup fails with EPERM
taskkill /IM agent-browser-win32-arm64.exe /F >nul 2>&1
taskkill /IM agent-browser-win32-x64.exe /F >nul 2>&1
call npm install -g agent-browser

echo.
echo Fixing agent-browser ARM64 binary (npm ships a 0 KB stub on Windows ARM64)...
set "AB_BIN=%APPDATA%\npm\node_modules\agent-browser\bin"
if exist "%AB_BIN%\agent-browser-win32-x64.exe" (
    copy /Y "%AB_BIN%\agent-browser-win32-x64.exe" "%AB_BIN%\agent-browser-win32-arm64.exe" >nul
    echo Copied x64 binary over arm64 stub.
) else (
    echo WARNING: x64 binary not found at "%AB_BIN%" - ARM64 fix skipped.
)

echo.
echo Updating skills...
call npx skills update

echo.
echo Installing Codex CLI...
call npm install -g @openai/codex

echo.
echo Update complete!
pause

@EternalRights

Copy link
Copy Markdown
Contributor Author

This is taking so long to apply... other fix is to just replace the arm exe with the x64 one locally... do it on a batch or something after each update

@echo off
echo Running Claude update...
call claude update

echo.
echo Installing agent-browser...
rem Stop any running daemon first - a live process locks the old exe and npm's cleanup fails with EPERM
taskkill /IM agent-browser-win32-arm64.exe /F >nul 2>&1
taskkill /IM agent-browser-win32-x64.exe /F >nul 2>&1
call npm install -g agent-browser

echo.
echo Fixing agent-browser ARM64 binary (npm ships a 0 KB stub on Windows ARM64)...
set "AB_BIN=%APPDATA%\npm\node_modules\agent-browser\bin"
if exist "%AB_BIN%\agent-browser-win32-x64.exe" (
    copy /Y "%AB_BIN%\agent-browser-win32-x64.exe" "%AB_BIN%\agent-browser-win32-arm64.exe" >nul
    echo Copied x64 binary over arm64 stub.
) else (
    echo WARNING: x64 binary not found at "%AB_BIN%" - ARM64 fix skipped.
)

echo.
echo Updating skills...
call npx skills update

echo.
echo Installing Codex CLI...
call npm install -g @openai/codex

echo.
echo Update complete!
pause

@ctate looks like folks are writing workaround scripts for this. anything else needed to get this in?

@sitefinitysteve

Copy link
Copy Markdown

@ctate looks like folks are writing workaround scripts for this. anything else needed to get this in?

I only use agent-browser on windows through parallels on my mac for a legacy .net webapp... but it's endlessly irritating, the AB ships with a 0k arm exe so it's just a whack of token burn for the LLM to figure it out and load it properly, this script hacks it FOR SURE, but it works.

Tate's a busy dude so I didn't want to press more than I already had
https://x.com/ctatedev/status/2052465312549789967?s=20

@EternalRights

Copy link
Copy Markdown
Contributor Author

@ctate looks like folks are writing workaround scripts for this. anything else needed to get this in?

I only use agent-browser on windows through parallels on my mac for a legacy .net webapp... but it's endlessly irritating, the AB ships with a 0k arm exe so it's just a whack of token burn for the LLM to figure it out and load it properly, this script hacks it FOR SURE, but it works.

Tate's a busy dude so I didn't want to press more than I already had https://x.com/ctatedev/status/2052465312549789967?s=20

@sitefinitysteve ha the batch script is pretty much what this PR does, copy x64 over the arm stub. two months and we’re still here lol

@sitefinitysteve

Copy link
Copy Markdown

@ctate looks like folks are writing workaround scripts for this. anything else needed to get this in?

I only use agent-browser on windows through parallels on my mac for a legacy .net webapp... but it's endlessly irritating, the AB ships with a 0k arm exe so it's just a whack of token burn for the LLM to figure it out and load it properly, this script hacks it FOR SURE, but it works.
Tate's a busy dude so I didn't want to press more than I already had https://x.com/ctatedev/status/2052465312549789967?s=20

@sitefinitysteve ha the batch script is pretty much what this PR does, copy x64 over the arm stub. two months and we’re still here lol

250 issues and PRS though... like imagine if this was your repo and you ALSO HAD like 6 other popular ones, and we're all in the same boat of wanting OUR merge in. I have sympathy for the scenario lol.

Thanks for getting this cranked in so fast initally btw

@ctate
ctate merged commit 8e70c78 into vercel-labs:main Jun 12, 2026
2 of 4 checks passed
@ctate

ctate commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

@sitefinitysteve @EternalRights So sorry for the delay! Cutting a release now. Thank y'all so much!

@EternalRights

Copy link
Copy Markdown
Contributor Author

@sitefinitysteve @EternalRights So sorry for the delay! Cutting a release now. Thank y'all so much!

@ctate no worries, thanks for getting it in

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.

Windows ARM64 installs at 0kb

3 participants