GitHub Actions "You have exceeded the maximum number of concurrent jobs"
Your account hit the per-plan ceiling on simultaneously running jobs, so new jobs queue and wait rather than failing, but throughput stalls until in-flight jobs complete.
What this error means
Jobs pile up in a queued state and the message notes you have exceeded the maximum number of concurrent jobs for your plan. Pipelines that fan out wide are the most affected.
You have exceeded the maximum number of concurrent jobs allowed for your plan. Jobs are queued until capacity is available.Common causes
Wide matrices exceed the plan ceiling
A large matrix or many parallel workflows request more concurrent jobs than the plan allows, so the overflow queues.
Concurrency shared across the account/org
Other repositories or workflows in the same account are consuming the shared concurrency budget at the same time.
How to fix it
Lower simultaneous job count
- Cap matrix fan-out with strategy.max-parallel.
- Stagger non-urgent workflows so they do not all run at once.
- Split monolithic jobs only when it does not increase total concurrency.
strategy:
max-parallel: 4
matrix:
node: [18, 20, 22]Add capacity with managed runners
Latchkey managed runners provide concurrency without the per-plan hosted-job ceiling, with a warm pool so wide matrices start immediately, at roughly 70% less than GitHub-hosted runners.
How to prevent it
- Right-size matrix fan-out to your concurrency budget.
- Coordinate scheduled workflows so they do not all fire together.
- Track concurrent-job usage against the plan ceiling.