GitHub Actions "an artifact with this name already exists" - overwrite
In artifact v4, names are immutable and unique within a run. A second upload with the same name fails unless you choose a unique name or pass overwrite: true.
What this error means
A second upload-artifact step (often in a matrix that reuses one name) fails saying the artifact name already exists, so the later upload is lost.
Actions log
Error: Failed to CreateArtifact: Received non-retryable error:
an artifact with this name already exists on the workflow runCommon causes
Reusing one name across matrix jobs
Every matrix combination uploading under the same name collides because v4 artifact names must be unique per run.
Re-uploading to replace contents
Unlike v3, v4 will not silently overwrite. Replacing an artifact requires the overwrite flag.
How to fix it
Use a unique name per upload
.github/workflows/ci.yml
- uses: actions/upload-artifact@v4
with:
name: logs-${{ matrix.os }}-${{ matrix.node }}
path: logs/Or set overwrite when replacing
When you intentionally want to replace an artifact, opt in explicitly.
.github/workflows/ci.yml
- uses: actions/upload-artifact@v4
with:
name: report
path: report/
overwrite: trueHow to prevent it
- Give every artifact a unique name, especially in a matrix.
- Use overwrite: true only for intentional single replacements.
- Merge per-matrix artifacts into one with upload-artifact/merge.
Related guides
GitHub Actions Artifact Merge Fails - actions/upload-artifact/mergeFix GitHub Actions artifact merge failures - combining matrix-produced artifacts with upload-artifact/merge w…
GitHub Actions "Cache already exists" - Entries Are ImmutableUnderstand GitHub Actions cache immutability - once a key is saved you cannot overwrite it, so updated conten…
GitHub Actions Artifact compression-level Invalid or IneffectiveFix GitHub Actions upload-artifact compression-level issues - an out-of-range value, or setting it on already…