GitHub Actions "step output exceeds max size"
Step outputs written to GITHUB_OUTPUT are size-limited. Dumping a large blob (a full JSON payload, a file body) into an output truncates it or fails. Pass large data through files or artifacts instead.
What this error means
A downstream step gets a truncated or empty value because the producing step wrote an oversized output to GITHUB_OUTPUT.
github-actions
Error: Output value exceeds the maximum allowed size for GITHUB_OUTPUT.Common causes
Large blob written as an output
A big JSON or file body is pushed into a single step output beyond the limit.
Misusing outputs for data transport
Outputs are used to move large payloads between steps instead of files or artifacts.
How to fix it
Move large data to a file or artifact
- Write large data to a file in the workspace and pass the path, not the content.
- Use upload-artifact/download-artifact for cross-job transport.
- Keep step outputs to small scalar values.
.github/workflows/ci.yml
- id: gen
run: |
echo "{...large json...}" > payload.json
echo "path=payload.json" >> "${GITHUB_OUTPUT}"How to prevent it
- Keep step outputs to small values; transport large data via files/artifacts.
- Avoid serializing big payloads into GITHUB_OUTPUT.
Related guides
GitHub Actions "secret too large (64KB limit)"Fix the GitHub Actions error where a secret value exceeds the 64KB size limit.
GitHub Actions "too many jobs in workflow (256 limit)"Fix the GitHub Actions error where a single workflow run produces more than the 256-job limit.
GitHub Actions "job matrix exceeds 256 entries"Fix the GitHub Actions error where a single job matrix expands to more than 256 entries.