GitHub Actions no longer supports Node 16 or Node 20 for JavaScript actions. As of GitHub’s September 23, 2026 announcement, runners use Node 24; action maintainers should declare runs.using: node24, publish a compatible release, and workflow users should update to an action version that supports Node 24. The Node 16-to-20 transition remains useful history, but Node 20 is not a current migration target.
What happened to Node 16 and Node 20 in GitHub Actions?
GitHub announced the Node 16-to-20 transition on September 22, 2023, because Node 16 had reached end of life. The original plan was to transition actions by spring 2024, with warnings for workflows using Node 16 actions beginning October 23, 2023. GitHub later revised the schedule: on May 17, 2024, it said Node 20 would become the default on June 30, 2024. That was an interim default-switch date, not the final Node 16 removal date.
GitHub’s September 25, 2024 notice set November 12, 2024 as the date Node 16 was removed from Actions runners. GitHub subsequently removed Node 20 as well: its September 23, 2026 notice says, “Runners now use Node 24 for JavaScript actions.” The temporary Node 20 opt-out is unavailable. See GitHub’s original transition announcement, May 2024 schedule update, Node 16 end-of-life notice, and current Node 20 removal notice.
What should you do now?
If you maintain a JavaScript action
Update the action metadata to declare Node 24, then publish a release containing that change. The relevant field is the action’s runs.using value in action.yml or action.yaml; for example:
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →#1 Best Overall
runs:
using: node24
main: dist/index.js
Check the rest of the action for compatibility with the runtime and its supported runner platforms, then test and release it. GitHub’s Node 24 migration notice gives the current runtime direction.
If you use an action in a workflow
Update the action reference to a release whose maintainer has added Node 24 support. A workflow might reference an action by a version tag, for example:
Rank #2
steps:
- uses: owner/action@v2
In practice, use the action’s documented release or version that supports Node 24; the example tag is illustrative, not a claim that a particular action has released a compatible version. Updating a workflow’s actions/setup-node configuration changes the Node version available to your own workflow commands. It does not change the embedded runtime GitHub uses to execute a JavaScript action.
If you administer self-hosted runners
Check that your runner software, operating system, and architecture support the actions you intend to run. During the Node 20 transition, GitHub instructed self-hosted runner administrators to use runner v2.308.0 or later for Node 20 compatibility. That was historical minimum guidance for Node 20, not a current recommendation for Node 24; consult GitHub’s current runner documentation for present-day runner requirements.
Rank #3
Which Node 24 platform limits should you check?
GitHub says Node 24 is incompatible with macOS 13.4 and earlier and does not officially support ARM32. If a self-hosted runner uses either environment, verify compatibility before moving to an action release that requires Node 24. These are specific limitations in GitHub’s September 23, 2026 notice; they should not be generalized to other macOS versions or architectures.
Why does an action still appear to use Node 16?
The action version referenced by the workflow may still declare an older runtime. Updating the workflow’s own Node installation does not rewrite that action’s metadata. Identify the action and version in the workflow, then check whether its maintainer has published a release supporting Node 24. If you maintain the action, change its runtime declaration and release a compatible version. Node 16 and Node 20 are not available as current JavaScript-action runtimes on GitHub-hosted Actions runners.
Rank #4
What did the original Node 20 migration require?
At the time, maintainers were asked to update their actions to run on Node 20, workflow users were advised to move to current action versions, and self-hosted runner administrators were told to use runner v2.308.0 or later. GitHub’s September 2023 notice stated: “Update your self-hosted runners to runner version v2.308.0 or later to ensure compatibility with Node 20 actions.” Those directions explain the historical migration; they do not make Node 20 a viable target today.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools

