Back to wire
Development·Article

GitHub Actions removes Node 20 and ends the temporary opt-out

GitHub retired the Node 20 runtime for JavaScript actions on 23 September. Runners now use Node 24, and the temporary environment-variable opt-out no longer works.

Published 25 Sept 2026, 18:49

The retirement completes a transition that made Node 24 the default on 16 June. ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION had allowed a temporary return to Node 20; GitHub's final notice removes that route for github.com and GitHub with Data Residency.

Action maintainers are being told to declare node24 in runs.using and publish a new release. Workflow owners need compatible versions of the actions they call. This setting belongs to the JavaScript action's execution metadata, not the Node version a workflow installs for its application's build or tests.

The host requirements also change: Node 24 is incompatible with macOS 13.4 and earlier and lacks official ARM32 support. GitHub says self-hosted runners on those systems are no longer supported. Its notice does not establish a matching retirement date for GitHub Enterprise Server.

Source trail

01
GitHub: Node 20 removal from Actions runners
Primary · 23 Sept 2026, 02:00
https://github.blog/changelog/2026-09-23-node-20-is-no-longer-available-in-github-actions/
More Wire stories citing github.blog
02
GitHub: Node 20 retirement timetable, updated in August 2026
Primary · 19 Sept 2025, 02:00
https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
03
GitHub Docs: Metadata syntax for JavaScript actions
Primary
https://docs.github.com/en/actions/reference/workflows-and-actions/metadata-syntax
More Wire stories citing docs.github.com