GitHub Actions "artifact upload failed with status 500"
A 500 from the artifact service is a server-side failure, not a problem with your files. The upload client may retry internally; if it still fails, re-running the job usually succeeds once the backend recovers.
What this error means
An upload-artifact step fails with a 500 status from the artifact service.
github-actions
##[error]Artifact upload failed with status code 500 (Internal Server Error).
Failed to upload artifact 'build-output' after retries.Common causes
Transient artifact-service error
A backend 500 interrupted the upload; it is non-deterministic and unrelated to your config.
How to fix it
Retry the upload
- Re-run the job to retry the upload.
- Check the GitHub status page if 500s persist across runs.
Let managed runners absorb the blip
- Latchkey auto-retries transient artifact-service failures, so an isolated 500 does not surface as a failed pipeline.
How to prevent it
- Treat one-off artifact 500s as transient and retry.
- Avoid changing workflow logic in response to a single backend error.
Frequently asked questions
What causes ""artifact upload failed with status 500""?
A backend 500 interrupted the upload; it is non-deterministic and unrelated to your config.
How do I fix "artifact upload failed with status 500"?
Retry the upload
Related guides
GitHub Actions "has encountered an internal error" (retry)Handle "GitHub Actions has encountered an internal error while running your job" - a transient server-side fa…
GitHub Actions "No files were found" - actions/upload-artifact v4 FailuresFix actions/upload-artifact@v4 failures - "No files were found with the provided path", a wrong working direc…
GitHub Actions "Failed to download artifact" / artifact not foundFix GitHub Actions "Failed to download artifact" - download-artifact could not find an artifact, usually a na…