Skip to content
Latchkey

GitLab "No active runners" After Registration

A runner shows in the project but never turns green. It was registered, yet the gitlab-runner process is not polling GitLab - usually a stopped service, a bad config, or a connectivity problem.

What this error means

The Runners page lists the runner but marks it inactive/offline, and jobs queue without being picked up. Unlike a tag mismatch, the runner itself is simply not contacting GitLab.

Runner log
Runners page: "No active runners"
gitlab-runner: ERROR: Checking for jobs... failed  runner=AbC123 status=couldn't execute POST against https://gitlab.com/api/v4/jobs/request: dial tcp: i/o timeout

Common causes

Runner service not running

The gitlab-runner daemon is stopped or crashed, so it never long-polls for jobs and stays offline.

Cannot reach the GitLab URL

A firewall, proxy, or wrong url/CA in config.toml blocks the runner from reaching GitLab’s API, so registration succeeded but polling fails.

How to fix it

Verify and restart the runner

Runner host
sudo gitlab-runner status
gitlab-runner verify --delete   # prune dead registrations
sudo systemctl restart gitlab-runner
sudo gitlab-runner run --debug   # watch it poll

Confirm connectivity and config

  1. Check config.toml has the correct url and token.
  2. From the host, curl -I https://gitlab.example.com to prove network/TLS reachability.
  3. If behind a proxy, set the proxy env vars for the runner service.

How to prevent it

  • Run the runner under systemd so it restarts on crash.
  • Monitor the runner’s last-contact time and alert on staleness.
  • Keep the runner’s CA bundle and proxy config current.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →