GitLab "no runners with matching tags" - Tag Mismatch
Runners are online, but none carry the exact tag set this job requires. GitLab matches jobs to runners by tag, and an empty intersection means the job waits.
What this error means
The job stays pending with a banner listing the required tags and noting no runner matches all of them. Other jobs in the same project run fine - only the tagged one is stuck.
Job page
This job is stuck because you don't have any active runners online or available with any of these tags assigned to them: gpu, cudaCommon causes
Job tags not present on any runner
A job with tags: [gpu, cuda] only runs on a runner carrying both tags. If no online runner has them, it never starts.
Tag typo or case mismatch
Runner tags are exact strings. Docker vs docker, or arm-64 vs arm64, will not match.
How to fix it
Align job tags with a runner
Set the job’s tags to a set an online runner actually carries.
.gitlab-ci.yml
build:
tags:
- docker # must exactly match a runner's tag
script: make buildAdd the tag to a runner or allow untagged
- In the runner’s settings, add the missing tag, or enable "Run untagged jobs".
- Confirm the runner is online and the tag spelling matches exactly.
- Re-run the job; it should pick up immediately.
How to prevent it
- Document the tag vocabulary for your runner fleet.
- Keep job tags minimal and consistent with available runners.
- Allow untagged jobs on a general-purpose runner as a fallback.
Related guides
GitLab "This job is stuck ... no runners online" - Fix ItFix GitLab "This job is stuck because the project doesn't have any runners online" - no active runner is regi…
GitLab "No active runners" After RegistrationFix GitLab "No active runners" - a registered runner that never goes online because the service is stopped, m…
GitLab "Job failed (system failure): preparing environment"Fix GitLab "ERROR: Job failed (system failure): preparing environment" - a runner-side failure setting up the…