GitLab CI/CD
Nov 2, 2025 5 min read

Fix GitLab CI Job Stuck on "pending"

Pipeline waits forever for a runner. The fix is almost always tags, scope, or capacity.

Problem

Your job sits in "This job is stuck because the project doesn't have any runners online assigned to it" or just hangs in `pending`.

Root cause

  • Job has a tag no online runner matches.
  • Runner is `Locked` to a different project.
  • Group/shared runners are disabled for the project.
  • Runner is online but at max concurrent jobs.

Solution

Check what runners are available

In the project: Settings → CI/CD → Runners. Confirm at least one runner is green and its tags match.

Match tags between job and runner

yaml
build:
  tags: [docker, linux]
  script: ./build.sh

Or remove tags requirement

Edit the runner and enable `Run untagged jobs`, or drop `tags:` from the job.

Frequently asked questions

Related fixes

Weekly digest

One DevOps fix in your inbox each week

Short, practical, no fluff. Real errors, real fixes — straight from production postmortems.