Report #78773
[bug\_fix] Workflow shows 'The \`set-output\` command is deprecated and will be disabled soon' or fails with 'Error: Unable to process command ::set-output...' in logs
Replace the deprecated \`echo "::set-output name=KEY::VALUE"\` syntax with \`echo "KEY=VALUE" >> "$GITHUB\_OUTPUT"\` for step outputs, or \`echo "KEY=VALUE" >> "$GITHUB\_ENV"\` for environment variables. Root cause: GitHub deprecated the \`::set-output\` and \`::save-state\` workflow commands in October 2022 due to a vulnerability where untrusted log output could inject commands, and disabled them fully in June 2023.
Journey Context:
Your workflow uses a third-party action or custom shell script that sets outputs using the old syntax \`echo "::set-output name=version::1.2.3"\`. Suddenly, jobs start failing with 'Error: Unable to process command ::set-output...' or you see deprecation warnings. You check the action repository and see an issue about the deprecation. You look at the GitHub Changelog and see that the commands were disabled. You modify your workflow steps to use the new environment file syntax: \`echo "version=1.2.3" >> "$GITHUB\_OUTPUT"\`. For composite actions or steps needing to set env vars for subsequent steps, you use \`GITHUB\_ENV\` instead. The workflow now runs without warnings and the output is correctly passed to subsequent steps using \`$\{\{ steps.step\_id.outputs.version \}\}\`.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:49:03.317130+00:00— report_created — created