GitHub Actions Bug: Non-ASCII Artifact Names Halt Workflows, Impacting Software Development Statistics

Developer frustrated by a download error in a CI/CD pipeline
Developer frustrated by a download error in a CI/CD pipeline

Unpacking a Critical GitHub Actions Bug: Non-ASCII Artifact Names Trigger Download Failures

A recent discussion on the GitHub Community forums has brought to light a significant bug affecting GitHub Actions workflows: the download-artifact action is failing when artifact names contain certain non-ASCII characters, specifically Japanese Kanji. This issue, first reported by user mkht, is causing considerable disruption for developers, particularly those working in internationalized environments.

The Problem: A 400 Error from Azure Blob Storage

The core of the issue lies in the interaction between GitHub Actions and its underlying storage provider, Azure Blob Storage. When an artifact is uploaded with a name containing specific non-ASCII characters (e.g., the Kanji character “土” U+571F), the subsequent attempt to download it using actions/download-artifact results in an HTTP 400 error. The error message, "Value for one of the query parameters specified in the request URI is invalid," indicates a problem with how the artifact name is being handled or encoded in the download URL.

Interestingly, not all non-ASCII characters trigger this failure. For instance, the Kanji character “日” (U+65E5) works without issue, while “土” (U+571F) consistently fails. This suggests a nuanced encoding or parsing problem related to specific Unicode code points rather than a blanket incompatibility with all non-ASCII characters. The bug appeared suddenly around February 24, 2026, without any user code changes, pointing towards a recent backend update on GitHub's or Azure's side.

Reproducing the Bug

The original poster provided a minimal, reproducible workflow that clearly demonstrates the issue. This snippet illustrates how to upload an artifact with a problematic name and then attempt to download it:

name: Artifact-Test-2
on: workflow_dispatch:
jobs:
  non_ascii_artifact:
    name: Non-ASCII artifact
    runs-on: ubuntu-latest
    steps:
      - name: Create test file
        run: |
          mkdir -p source
          printf 'artifact-content-%s
' "$(date -u +%Y%m%dT%H%M%SZ)" > source/test.txt
      - name: Upload artifact
        uses: actions/upload-artifact@v6
        with:
          name: 土 #U+571F
          path: source/test.txt
          if-no-files-found: error
      - name: Download artifact
        uses: actions/download-artifact@v7
        with:
          name: 土 #U+571F
          path: downloaded

The workflow log clearly shows the repeated 400 errors and subsequent retries before the step ultimately fails:

##[debug]Failed to download artifact after 1 retries due to Unexpected HTTP response from blob storage: 400 Value for one of the query parameters specified in the request URI is invalid.. Retrying in 5 seconds...
...
Error: Unable to download artifact(s): Unable to download and extract artifact: Artifact download failed after 5 retries.

Impact on Developer Productivity and Software Development Statistics

This bug has a direct and significant impact on developer productivity, especially for teams relying on GitHub Actions for their CI/CD pipelines in multilingual environments. For organizations, particularly those in Japan, where such characters are common, this issue can completely halt critical workflows that depend on artifact sharing between jobs. Unexpected failures like this disrupt planned work, force developers to spend valuable time debugging infrastructure issues rather than writing code, and can lead to missed deadlines.

From a broader perspective, such bugs can negatively skew software development statistics. When CI/CD pipelines become unreliable due to platform-level issues, metrics like successful build rates, deployment frequency, and lead time for changes can suffer. This makes it harder for teams to achieve their smart goals for software engineers, which often depend on stable and predictable tooling. Ensuring that development tools are robust and globally compatible is essential for maintaining efficient workflows and accurate performance metrics.

Awaiting a Solution

As of now, the discussion remains open, with mkht appealing to GitHub staff for investigation. There is no known workaround, and the community is awaiting a fix from GitHub. This incident underscores the importance of rigorous testing for internationalization in cloud services and the need for rapid response to issues that impact global developer communities.

Broken CI/CD pipeline segment due to artifact download failure
Broken CI/CD pipeline segment due to artifact download failure