GitHub Actions setup-node "Unable to find Node version for platform"
actions/setup-node resolves the requested version against the published Node release manifest. A version that has no build for the runner OS or CPU architecture fails before any download starts.
What this error means
A setup-node step fails resolving the version, often after a Node minor release was yanked, a typo in node-version, or an arm64 runner that lacks a matching build.
github-actions
Error: Unable to find Node version '20.19' for platform linux and architecture x64.Common causes
Version string does not match a published release
A partial or non-existent version (e.g. 20.19 vs 20.19.0, or a yanked patch) has no entry in the Node release manifest for the platform.
Architecture without a matching build
An arm64 or 32-bit runner requests a version that only ships x64 binaries, so resolution finds no candidate.
How to fix it
Pin to a published version or range
- Use a major or LTS alias (e.g. 20 or lts/*) so setup-node picks the latest published patch.
- If you need an exact version, confirm it exists for linux/x64 in the Node release list.
- For arm64 runners, verify the version ships an arm64 build.
.github/workflows/ci.yml
- uses: actions/setup-node@v4
with:
node-version: '20' # or 'lts/*'How to prevent it
- Prefer major or LTS aliases over pinned patch versions in CI.
- Use a .nvmrc with node-version-file so the version has a single source.
- On Latchkey managed runners the version download itself is auto-retried on transient network failures and served from a warm tool cache, so a flaky mirror does not turn into a red build.
Related guides
actions/setup-node: Install Node.js in CIReference for actions/setup-node: pin a Node.js version, enable built-in npm/yarn/pnpm caching, and register…
GitHub Actions setup-node cache "path glob not matched"Fix actions/setup-node cache failures - with cache: npm/yarn/pnpm enabled, no lockfile matched the expected p…
GitHub Actions setup-python "Version not found / not available"Fix actions/setup-python "Version X was not found" - the requested Python version is not in the runner tool c…