GitHub Actions matrix job "reserved characters in name"
Job and matrix-derived names render into the run UI and APIs. Certain control or reserved characters in a computed name cause validation or display failures. Keep names to plain text and safe punctuation.
What this error means
A matrix job with a name built from interpolated values fails validation or renders incorrectly because the value contains reserved characters.
github-actions
Invalid workflow file: .github/workflows/ci.yml#L30
The job name contains invalid characters.Common causes
Interpolated value has control/reserved characters
A matrix dimension injected into name includes characters not allowed in job names.
Unsanitized external input in name
A name built from arbitrary data contains characters that break rendering.
How to fix it
Sanitize the job name
- Build the name from safe matrix values only.
- Replace or strip reserved characters before using them in name.
- Prefer a stable readable label over raw interpolated input.
.github/workflows/ci.yml
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: build-${{ matrix.os }}How to prevent it
- Keep job names to letters, numbers, dashes, and spaces.
- Avoid interpolating arbitrary external data directly into job names.
Related guides
GitHub Actions "job matrix exceeds 256 entries"Fix the GitHub Actions error where a single job matrix expands to more than 256 entries.
GitHub Actions composite action "using: node20 required"Fix the GitHub Actions error where an action.yml runs section is missing or has an invalid using value such a…
GitHub Actions "step output exceeds max size"Fix the GitHub Actions error where a step writes an output to GITHUB_OUTPUT that exceeds the allowed size.