Repository navigation
Open
Labels
enhancementa request to improve CLIa request to improve CLIgh-runrelating to the gh run commandrelating to the gh run commandhelp wantedContributions welcomeContributions welcome
Description
Describe the bug
Can't download non-zipped artifacts that were uploaded with archive: false.
Affected version
gh version 2.88.1 (2026-03-12)
https://github.com/cli/cli/releases/tag/v2.88.1
Steps to reproduce the behavior
- Upload non-zipped artifact in GHA using
actions/upload-artifactwitharchive: false - Try to download the artifact with
gh run download - Get an error message:
error downloading <artifact>: error extracting zip archive: zip: not a valid zip file
Expected vs actual behavior
Expected to be able to download non-zipped artifacts after they were announced, but the CLI tries to unzip all artifacts.
Reacted by kya8, Shunsuke Suzuki, Dale Morgan, Naotiki, jshn9515, Andrey Filipenkov, Shogo Yamazaki, Barnabás Ágoston, Agriya Khetarpal, Lucas José and 6 more
Pinned by williammartin
Pinned comment options
After talking about it with @BagToad we think that unarchived artifacts should be downloaded as if -n had been passed.
Acceptance Criteria
Scenario 1
Given I have uploaded an artifact during a workflow with the following step:
- uses: actions/upload-artifact@v7
with:
name: my-non-zipped-artifact
path: ./world.txt
archive: false
When I run gh run download <run_id>
Then the file exists under './world.txt'
Scenario 2
Given I have uploaded an artifact during a workflow with the following step:
- uses: actions/upload-artifact@v7
with:
name: my-non-zipped-artifact
path: ./world.txt
archive: false
When I run gh run download-n 'world.txt' <run_id>
Then the file exist…
Metadata
Metadata
Assignees
Labels
enhancementa request to improve CLIa request to improve CLIgh-runrelating to the gh run commandrelating to the gh run commandhelp wantedContributions welcomeContributions welcome
Activity
williammartin commentedon Mar 25, 2026
Cool, I didn't know about this feature. I think my main concern is where the file should be placed. With the implementation in your PR, and not providing the
-nflag, we end up with files being downloaded to./foo.txt/foo.txtwhich is kind of weird? I also don't know whether filenames get the same sanitization as the archive names. It seems like on Actions whenarchive: false, thenamekey is ignored?github-actions commentedon Mar 25, 2026
Thank you for your issue! We have categorized it as an enhancement (feature or improvement) request, and it has been added to our backlog. In doing so, we are not committing to implementing this feature at this time, but, we will consider it for future releases based on community feedback and our own product roadmap.
Unless you see the help wantedContributions welcome
label, we are not currently looking for external contributions for this feature.
If you come across this issue and would like to see it implemented, please add a thumbs up! This will help us prioritize the feature. Please only comment if you have additional information or viewpoints to contribute.
williammartin commentedon Mar 25, 2026
After talking about it with @BagToad we think that unarchived artifacts should be downloaded as if
-nhad been passed.Acceptance Criteria
Scenario 1
Given I have uploaded an artifact during a workflow with the following step:
When I run
gh run download <run_id>Then the file exists under './world.txt'
Scenario 2
Given I have uploaded an artifact during a workflow with the following step:
When I run
gh run download-n 'world.txt' <run_id>Then the file exists under './world.txt'
Scenario 3
When I run
gh run download --helpThen I see an explanation of this new behaviour
williammartin commentedon Mar 25, 2026
For maintainers, this acceptance test should cover this case:
williammartin commentedon Mar 25, 2026
I've marked this
help wantedfor your PR #13013.iTrooz commentedon May 7, 2026
Note: related to #12435
Disable archive: false until gh CLI supports non-zip artifacts
kambala-decapitator commentedon Jun 18, 2026
the
-nworkaround doesn't work currently:feat: upload evidence files one artifact each and link them from the …
feat: upload validation evidence per file and link it from the proof …
ci: the accidental /zip endpoint returns the PNG now
ci: split into two jobs and embed the render preview (#16)