# GitHub Actions Node 24 JavaScript actions runner runtime node20 native loader incompatibility

Status: search-observed
Product: GitHub Actions runner
Last verified: 2026-06-25
Canonical HTML: https://gitdocs.org/fix/github-actions-node-24-javascript-actions-runner-runtime-node20-native-loader-incompatibility
Machine JSON: https://gitdocs.org/api/fixes/github-actions-node-24-javascript-actions-runner-runtime-node20-native-loader-incompatibility.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

- GitHub Actions Node 24 JavaScript actions runner runtime node20 native loader incompatibility
- site:github.blog changelog GitHub Actions node24 runtime actions/checkout node24
- GitHub Actions runner Node 24 JavaScript actions force Node 24 runtime native module loader error
- 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
