Skip to content
Latchkey

GitHub Actions composite action "using: node20 required"

Every custom action declares runs.using. JavaScript actions must target a supported node runtime (node20), composite actions use composite, and Docker actions use docker. A missing or deprecated using value fails to load.

What this error means

An action referenced by a workflow fails to load because its action.yml runs.using is absent or set to an unsupported value.

github-actions
Error: the "using" property in your action.yml file must be set to "node20"
(or "composite"/"docker"). Found: "node12"

Common causes

Deprecated node runtime

runs.using points at an end-of-life runtime such as node12 or node16 that is no longer supported.

Missing using for a composite action

A composite action omits runs.using: composite, so the runner cannot determine how to execute it.

How to fix it

Set a supported using value

  1. For JavaScript actions set runs.using to node20 and rebuild the bundle.
  2. For composite actions set runs.using: composite with a steps list.
  3. For Docker actions set runs.using: docker with an image.
action.yml
runs:
  using: composite
  steps:
    - run: echo hello
      shell: bash

How to prevent it

  • Keep JavaScript actions on the current supported node runtime.
  • Always declare runs.using explicitly in custom actions.

Related guides

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