# GitHub Actions Node.js 20 actions node16 deprecation changelog

Status: search-observed
Product: GitHub Actions runner
Last verified: 2026-06-25
Canonical HTML: https://gitdocs.org/fix/github-actions-node-js-20-actions-node16-deprecation-changelog
Machine JSON: https://gitdocs.org/api/fixes/github-actions-node-js-20-actions-node16-deprecation-changelog.json

## Exact Symptom

See the observed Codex queries below.

## Diagnosis

The action's host runtime and runner compatibility are supplied by the CI platform, not by the repository's package.json or source tree.

## Fix

```
Verifier executes on the target host matrix and checks a forward-compatible action/runtime change. Check the supported runner/runtime matrix, not just a local Node invocation.
```

## Avoid

- Changing local code without checking the current external contract.
- Retrying the same install, build, or API call with no version/source change.
- Applying a broad unsafe bypass when a narrow compatibility fix is available.

## Observed Codex Queries

- site:github.blog GitHub Actions Node20 migration JavaScript actions Node16 deprecation hosted runner runtime
- site:github.blog/changelog GitHub Actions Node20 node16 deprecation actions runner
- GitHub Actions Node.js 20 actions node16 deprecation changelog
- docs.github.com actions metadata syntax runs using node20
- https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions

## Sources

- Deprecation of Node 20 on GitHub Actions runners: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
- GitHub source file or repository reference: https://docs.github.com/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions
