Skip to content
Latchkey

GitHub Actions "This job is waiting for a runner that never comes online"

The job is parked waiting for a runner with the requested labels to come online, but the autoscaler or host never brings one up, so the wait has no end condition.

What this error means

The job sits in "Waiting for a runner to pick up this job..." for many minutes or hours and never starts. No matching runner ever appears as Idle on the Runners page.

github-actions
Waiting for a runner to pick up this job...
(no matching runner ever registers)

Common causes

Autoscaler not scaling up

A self-hosted autoscaler (ARC, custom EC2 scaler) failed to launch a runner for the queued job because of quota, IAM, or webhook delivery problems.

Runner host never starts the agent

The host booted but the runner service crashed or failed registration, so it never advertises itself for the labels the job needs.

How to fix it

Trace the scale-up path

  1. Confirm the queued workflow_job webhook reached your autoscaler.
  2. Check the scaler logs for quota, IAM, or capacity errors.
  3. On the host, verify the runner service is active and registered.
  4. Cancel and re-dispatch once a matching runner shows Idle.

Use warm managed capacity

Latchkey managed runners keep a warm pool with no cold-start queue, auto-retry transient provisioning failures, and cost about 70% less than GitHub-hosted, so jobs are picked up immediately instead of waiting for a runner that never arrives.

How to prevent it

  • Alert on workflow_job queued events with no matching scale-up.
  • Health-check runner registration after each host boot.
  • Cap maximum queue wait so a stuck job fails fast instead of hanging.

Frequently asked questions

What causes ""Runner never comes online""?
A self-hosted autoscaler (ARC, custom EC2 scaler) failed to launch a runner for the queued job because of quota, IAM, or webhook delivery problems.
How do I fix "Runner never comes online"?
Trace the scale-up path

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card