🌐 English | 한국어
OpenCode Windows ARM64 is an unofficial automated build pipeline that produces Windows ARM64 binaries for OpenCode, an AI-powered coding agent. It runs on GitHub Actions, polls the upstream repository for new releases every 6 hours, cross-compiles the ARM64 binary on a Linux runner, publishes a GitHub Release, and updates a Scoop bucket manifest for automatic updates.
This project is not affiliated with, endorsed by, sponsored by, or officially supported by the OpenCode team. It is an independent community tool for Windows on ARM compatibility.
OpenCode is a trademark of its respective owners. All other trademarks are the property of their respective owners.
With Scoop:
scoop bucket add opencode-arm64 https://github.com/airtaxi/opencode-windows-arm64
scoop install opencode-arm64Update normally:
scoop update
scoop update opencode-arm64Alternatively, download the binary from the GitHub Releases page and run it directly.
- Scheduled check — Every 6 hours, the workflow fetches the latest tag from the upstream OpenCode repository and compares it against the latest release in this repository.
- Build — If a newer tag is found (or a manual build is triggered), the workflow clones the tagged source, pins Bun to 1.4.0, installs dependencies, and cross-compiles the ARM64 binary with
bun run buildon a Linux runner — the same approach used by the upstream release pipeline. - Release — The binary is archived as a zip, a Scoop manifest is generated with the correct hash, and a GitHub Release is created.
- Scoop update — The Scoop bucket manifest is committed to the repository so
scoop updatepicks up the new version automatically.
The build applies the following patches to the cloned source after cloning:
- package.json — Pins
packageManagertobun@1.4.0(kept as-is if the upstream already requires 1.4.0 or newer). Bun 1.4.0 is the first stable release withbun:ffisupport on Windows ARM64 (oven-sh/bun#28055), which the OpenCode build requires. - bunfig.toml — Adds
@types/bunandbun-typestominimumReleaseAgeExcludesso freshly published type packages are not blocked by the 3-day release-age policy.
If a patch anchor is not found (e.g. after an upstream refactor), the build fails fast so a silently unpatched binary is never published.
The workflow can be triggered manually from the Actions tab with the following options:
- force_build — Build even when the upstream tag is not newer than the latest release.
- tag_override — Build a specific upstream tag (e.g.
v1.18.20). - release_tag_override — Publish under a specific release tag (e.g.
v1.18.20.1). - version_override — Embed a specific version in the binary (e.g.
1.18.20). Defaults to the release tag without the leadingv.
- Windows on ARM device (for local Windows builds).
- PowerShell 7 (
pwsh). - Bun 1.4.0 or newer on
PATH. - Visual Studio 2022 with the "Desktop development with C++" workload (ARM64 toolset).
- Node.js and Git on
PATH.
A successful build produces:
dist/opencode-windows-arm64.zip— ARM64 binary archive.bucket/opencode-arm64.json— Scoop manifest with hash.
The initial manifest in this repository is a placeholder; the first build replaces it with the real hash.
OpenCode Windows ARM64 is licensed under the MIT License.
Created by Howon Lee (airtaxi).