Skip to main content

Downloading workflow artifacts

You can download archived artifacts before they automatically expire.

Who can use this feature?

People who are signed into GitHub and have read access to a repository can download workflow artifacts.

Tool navigation

By default, GitHub stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "Managing GitHub Actions settings for a repository."

Read access to the repository is required to perform these steps.

  1. On GitHub.com, navigate to the main page of the repository.

  2. Under your repository name, click Actions.

    Screenshot of the tabs for the "github/docs" repository. The "Actions" tab is highlighted with an orange outline.

  3. In the left sidebar, click the workflow you want to see.

    Screenshot of the left sidebar of the "Actions" tab. A workflow, "CodeQL," is outlined in dark orange.

  4. From the list of workflow runs, click the name of the run to see the workflow run summary.

  5. In the "Artifacts" section, click the artifact you want to download.

    Screenshot of the "Artifacts" section of a workflow run. The name of an artifact generated by the run, "artifact," is highlighted with a dark orange outline.

To learn more about GitHub CLI, see "About GitHub CLI."

GitHub CLI will download each artifact into separate directories based on the artifact name. If only a single artifact is specified, it will be extracted into the current directory.

To download all artifacts generated by a workflow run, use the run download subcommand. Replace run-id with the ID of the run that you want to download artifacts from. If you don't specify a run-id, GitHub CLI returns an interactive menu for you to choose a recent run.

gh run download RUN_ID

To download a specific artifact from a run, use the run download subcommand. Replace run-id with the ID of the run that you want to download artifacts from. Replace artifact-name with the name of the artifact that you want to download.

gh run download RUN_ID -n ARTIFACT_NAME

You can specify more than one artifact.

gh run download RUN_ID> -n ARTIFACT_NAME-1 -n ARTIFACT_NAME-2

To download specific artifacts across all runs in a repository, use the run download subcommand.

gh run download -n ARTIFACT_NAME-1 ARTIFACT_NAME-2