Skip to content
Latchkey

GitHub Actions composite action "Input required and not supplied" in CI

A composite action input declared required: true must be passed by every caller step. If the calling with: omits it, the action fails with "Input required and not supplied".

What this error means

The step using the composite action fails with "Input required and not supplied: X", or an inner run step sees an empty value for that input.

GitHub Actions
Error: Input required and not supplied: token
# action.yml declares "token" as required: true but the caller passed no with.token

Common causes

A required input omitted by the caller

The action.yml marks the input required, but the calling step's with: block does not provide it.

A typo in the input name

The with: key does not match the declared input name, so the required input stays unset.

How to fix it

Pass the required input in with:

  1. Read which input the action marks required.
  2. Add it to the calling step with: block with the exact name.
  3. Re-run so the action receives the input.
.github/workflows/ci.yml
- uses: ./.github/actions/setup
  with:
    token: ${{ secrets.GITHUB_TOKEN }}

Give the input a default if optional

If most callers use the same value, declare a default in action.yml instead of requiring it.

action.yml
inputs:
  token:
    required: false
    default: ${{ github.token }}

How to prevent it

  • Document required inputs in the composite action README.
  • Give defaults to inputs that are usually identical across callers.
  • Keep with: keys aligned with declared input names.

Frequently asked questions

What causes ""Input required and not supplied""?
The action.yml marks the input required, but the calling step's with: block does not provide it.
How do I fix "Input required and not supplied"?
Pass the required input in with:

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card