GitHub Actions GITHUB_OUTPUT not set / set-output deprecated
The ::set-output:: workflow command was deprecated and disabled. Steps must now write key=value lines to the file at \${GITHUB_OUTPUT}; the old command produces no output and may warn or error.
What this error means
A downstream reference to steps.<id>.outputs.* is empty, and logs show a deprecation warning for set-output or no output is recorded at all.
Error: Unable to process command '::set-output name=foo::bar' successfully.
The `set-output` command is deprecated and disabled.Common causes
Using ::set-output::
The workflow command form was removed; outputs are not captured.
Writing to the wrong target
Echoing to stdout instead of the GITHUB_OUTPUT file does not set an output.
How to fix it
Write to the GITHUB_OUTPUT file
- Append key=value to \${GITHUB_OUTPUT}.
- Give the step an id so the output can be referenced.
- Reference it as steps.<id>.outputs.<key>.
- id: meta
run: echo "version=1.2.3" >> "${GITHUB_OUTPUT}"
- run: echo "Built ${{ steps.meta.outputs.version }}"How to prevent it
- Replace all ::set-output:: usages with GITHUB_OUTPUT writes.
- Keep third-party actions updated so they use the file-based commands.