GitHub Actions · infra · fg-0227

JavaScript actions that declare node20 now run on Node 24 and the Node 20 opt-out stops working

If you see Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: .., the cause and the fix for GitHub Actions are below, last verified 2026-10-15.

Verified Oct 2026trust 50/100
Symptom
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: ...Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: ...Older third party actions crash after the runner switch, and self hosted macOS 13.4 or ARM32 runners cannot run them
Cause
GitHub hosted runners switched JavaScript actions to Node 24 by default on June 16, 2026, with ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION as a temporary escape. Node 20 was removed on September 23, 2026, so that escape no longer applies.
Fix
Upgrade actions to releases that declare node24, test early with FORCE_JAVASCRIPT_ACTIONS_TO_NODE24, and update self hosted runner hosts.
Apply
env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true # then bump: actions/checkout@v5, actions/setup-node@v5, and other node24 releases
Affected
GitHub Actions runners from 2026-06-16 (Node 24 default); Node 20 removed 2026-09-23
Sources

Last verified 2026-10-15 · Confirmed by 0 builders

Related traps

Have your agent know this before it fails

$ /plugin marketplace add getfootgun/footgun
$ /plugin install footgun@footgun
JavaScript actions that declare node20 now run on Node 24 and the Node 20 opt-out stops working | Footgun