API · SDK · runtime · authentication lifecycle intelligence

Last updated · 9 September 2026

SchemaTrace

Breaking changes, enforcement dates and migration requirements.

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.

GitHub ActionsNode.js 24JavaScript actionsrunner runtimedeprecation

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.

Who needs to care

Action maintainers and self-hosted runner operators, especially macOS 13.4-or-earlier and ARM32 environments.

What to do

Test actions on Node.js 24, update unsupported hosts and remove reliance on the temporary Node.js 20 escape hatch.

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

  1. 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.

  2. Effective milestone

    Runner releases use Node.js 24 by default; a temporary environment-variable opt-out can retain Node.js 20 until final removal.

  3. Enforcement calendar amended

    GitHub updated the notice with the Node.js 24 default date and temporary opt-out.

Evidence ledger

First-party sources

  1. 01
    GitHub Changelog — Deprecation of Node 20 on GitHub Actions runners

    Official product documentation or changelog · 2025-09-19

    Open official source ↗