ST-2026-043 · Runtimes & developer platforms
GitHub Actions moves JavaScript actions from Node.js 20 to Node.js 24
GitHub Actions runners began using Node.js 24 by default for JavaScript actions on 16 June 2026, with a temporary Node.js 20 opt-out lasting only until a later runner upgrade.
Previous state
JavaScript actions executed on the Node.js 20 runtime by default.
Current state
Runner releases use Node.js 24 by default; a temporary environment-variable opt-out can retain Node.js 20 until final removal.
Affected users
Who needs to care
Action maintainers and self-hosted runner operators, especially macOS 13.4-or-earlier and ARM32 environments.
Required response
What to do
Test actions on Node.js 24, update unsupported hosts and remove reliance on the temporary Node.js 20 escape hatch.
Evidence boundary
What the source does not prove
GitHub does not state the exact final runner version or calendar date that removes the Node.js 20 opt-out. Node.js 24 also narrows supported host platforms.
Lifecycle history
Dated event sequence
- Change documented
GitHub Actions runners began using Node.js 24 by default for JavaScript actions on 16 June 2026, with a temporary Node.js 20 opt-out lasting only until a later runner upgrade.
- Effective milestone
Runner releases use Node.js 24 by default; a temporary environment-variable opt-out can retain Node.js 20 until final removal.
- Enforcement calendar amended
GitHub updated the notice with the Node.js 24 default date and temporary opt-out.
Evidence ledger
First-party sources
- 01GitHub Changelog — Deprecation of Node 20 on GitHub Actions runners
Official product documentation or changelog · 2025-09-19
Open official source ↗