Skip to content
Latchkey

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

  1. Write large data to a file in the workspace and pass the path, not the content.
  2. Use upload-artifact/download-artifact for cross-job transport.
  3. 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.

Frequently asked questions

What causes "Step output too large"?
A big JSON or file body is pushed into a single step output beyond the limit.
How do I fix Step output too large?
Move large data to a file or artifact

Related guides

References

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