## TL;DR
`set-output` was removed: write outputs to the file named by `GITHUB_OUTPUT` instead of using the `::set-output` workflow command. Replace each `echo "::set-output name=x::y"` with a line appended to `$GITHUB_OUTPUT`. Workflows run again once the deprecated command is gone.

## Error
```text
github actions: Unable to process file command output (set-output removed)
```

## Steps
1. Find every `::set-output` in the workflow files. Expected: a complete list of lines to migrate.
2. Replace each with an append to the output file: write `name=value` lines into the file whose path is in the `GITHUB_OUTPUT` environment variable. Expected: no `::set-output` remains.
3. For multiline values, use the heredoc delimiter form the docs specify for the output file. Expected: multiline outputs survive the migration.
4. Check composite actions and reusable workflows too: they have their own `::set-output` usages. Expected: the whole repo is migrated, not just the top workflow.
5. Re-run the workflow. Expected: steps produce outputs and downstream steps consume them.

## When to use
- Workflows fail with "Unable to process file command" mentioning set-output
- Migrating old workflows to current Actions
- Auditing for other removed workflow commands

## When not to use
- Other deprecated commands (`save-state`, `set-env` have their own migrations)
- Outputs that are set correctly but not consumed (wiring issue)

## Tool compatibility
- GitHub Actions `GITHUB_OUTPUT` environment file; workflow commands

## Variant phrasings
### set-output deprecated replacement
Append `name=value` to `$GITHUB_OUTPUT`; the workflow command form is gone.

### migrate set-output to github_output
Do it in every workflow and composite action; partial migration still fails.

## Why it happens
GitHub removed the `::set-output` command for security reasons (untrusted log output could forge commands). The environment-file mechanism replaces it: the runner owns the file path, so only the step can write its own outputs.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_pDJgLnLkSud4-Rniy3CKeA
