Skip to content
Latchkey

GitHub Actions Stuck on Queued: Why Jobs Don’t Start

A job sitting in "queued" means no runner has picked it up yet. Here is why, in order of likelihood.

When jobs queue and never start, work down this list from most to least common.

Causes and fixes

CauseFix
GitHub Actions incidentCheck githubstatus.com - org-wide queuing is usually an outage
Concurrency limit reachedOther runs are using your concurrent-job allowance; wait or raise the plan
No runner matches the labelsA self-hosted/runs-on label has no online runner - fix the label or bring a runner online
Billing / spending limitHit the spending limit or unpaid invoice - runners pause until resolved
Larger-runner capacitySpecific larger-runner sizes can have brief capacity waits

Reduce your exposure

Managed runners run on infrastructure independent of GitHub-hosted capacity and scale to your demand, so jobs are less likely to sit queued behind a capacity or concurrency wall.

Key takeaways

  • Org-wide queuing = check status first.
  • Single-workflow queuing = labels, concurrency, or billing.
  • Independent managed runners reduce capacity waits.

Frequently asked questions

GitHub Actions Stuck on Queued: Why Jobs Don’t Start?
When jobs queue and never start, work down this list from most to least common.
Reduce your exposure?
Managed runners run on infrastructure independent of GitHub-hosted capacity and scale to your demand, so jobs are less likely to sit queued behind a capacity or concurrency wall.

Related guides

References

Run this faster and cheaper on Latchkey managed runners - self-healing included. Start free → 30-day trial · No credit card