Skip to content
Latchkey

GitHub Actions "Node16 actions are deprecated"

GitHub retired the Node 16 runtime for JavaScript actions in favor of Node 20. Actions still declaring runs.using: node16 raise deprecation warnings and will eventually be forced to node20.

What this error means

Runs warn that one or more actions use the deprecated node16 runtime.

github-actions
Warning: The following actions uses node16 which is deprecated and will be forced to run on node20:
actions/checkout@v3, some/other-action@v1

Common causes

Action manifest pins node16

An action.yml declares runs.using: node16, which is the deprecated runtime.

Outdated pinned versions

Older major versions of popular actions shipped on node16 and are fixed in newer tags.

How to fix it

Upgrade the offending actions

  1. Identify the actions named in the warning.
  2. Bump them to versions whose action.yml uses runs.using: node20.
  3. For your own actions, change the manifest to node20 and rebuild dist.
action.yml
runs:
  using: node20
  main: dist/index.js

How to prevent it

  • Track deprecation warnings in CI and upgrade before the forced cutover.
  • Author new actions on node20 from the start.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →