Skip to content

/errors/gitlab-ci/job-stuck-no-runners

GitLab CI: This job is stuck because the project doesn't have any runners online assigned to it

The commands on this page have not been executed by our verification runner yet.updated 2026-10-20
tool
GitLab CI/CD
exit code
0
versions
GitLab 16+
os
any

A GitLab job waits in the pending state until a runner picks it up. When GitLab can see that no runner is able to take it, the job page shows This job is stuck because the project doesn't have any runners online assigned to it. (or a variant mentioning tags). Nothing is wrong with the job's script; the problem is the matching between the job and the runners.

How a runner is chosen

A runner can take a job only if all of these hold:

ConditionWhere to check
The runner is available to the project (project, group or instance runner)Settings > CI/CD > Runners
The runner is online and not pausedthe runner list, green dot
The runner has every tag the job listsjob tags: in .gitlab-ci.yml, runner tags in its settings
For untagged jobs: the runner has "Run untagged jobs" enabledrunner settings
For protected branches or tags: the runner is not restricted, or is protectedrunner settings

Fix tag mismatches

.gitlab-ci.yml
build:
  tags: [docker, linux]     # the runner must have both tags
  script:
    - make build

Remove tags that no runner has, or add them to the runner.

Register a runner

bash
gitlab-runner register --url https://gitlab.example.com --token "$RUNNER_AUTH_TOKEN" --executor docker --docker-image alpine:3.22
gitlab-runner verify

Create the runner (and its authentication token) first in Settings > CI/CD > Runners > New project runner, then register it on the machine.

Sources