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.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →