Skip to content
Latchkey

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

  1. Use a major or LTS alias (e.g. 20 or lts/*) so setup-node picks the latest published patch.
  2. If you need an exact version, confirm it exists for linux/x64 in the Node release list.
  3. 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

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →