Skip to content
Latchkey

GitHub Actions "Waiting for a runner" on a Larger/Custom Runner Label

A job targeting a larger or custom-labeled GitHub-hosted runner sits in "Waiting for a runner" because the runner group has no spare capacity right now, the label does not match a configured runner, or the repository is not granted access to that group.

What this error means

A job requesting a larger/custom runner label queues and never starts, while jobs on standard ubuntu-latest run fine. There is no error, just an unbounded wait for the specific label.

Actions log
Requested labels: ubuntu-latest-8-cores
Waiting for a runner to pick up this job...

Common causes

Runner group at capacity

Larger runners have a configured maximum concurrency. When all are in use, additional jobs queue until one frees up.

Label not configured or no group access

The custom label must exactly match a runner defined in a runner group, and the repository must be granted access to that group, or no runner can ever pick up the job.

How to fix it

Use a configured label and grant access

Request the exact label your runner group defines, and ensure the repo can use that group.

.github/workflows/ci.yml
runs-on: ubuntu-latest-8-cores   # must match a runner-group label
# Org settings > Actions > Runner groups: grant this repo access

Raise capacity or fall back

  1. Increase the max-concurrency for the larger-runner group if jobs routinely queue.
  2. Confirm the label spelling matches the runner-group configuration exactly.
  3. Fall back to a standard label for jobs that do not truly need the larger runner.

How to prevent it

  • Match custom runner labels exactly to the runner-group definition.
  • Grant repositories access to the runner groups they target.
  • Size larger-runner concurrency to your peak demand.

Frequently asked questions

What causes "Larger runner waiting"?
Larger runners have a configured maximum concurrency. When all are in use, additional jobs queue until one frees up.
How do I fix Larger runner waiting?
Request the exact label your runner group defines, and ensure the repo can use that group.
Can Latchkey fix this automatically?
Yes. Latchkey runs your GitHub Actions on managed runners that detect this failure, apply the fix, and retry the job automatically - self-healing is on by default.

Related guides

References

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