Skip to content
Latchkey

Renovate "PR limit reached" (prConcurrentLimit) in CI

Renovate limits how many PRs it keeps open and how many it creates per hour, via prConcurrentLimit and prHourlyLimit. When a limit is hit, it defers the rest and logs "PR limit reached", which can look like Renovate stalling.

What this error means

Renovate logs "PR limit reached" or "Skipping branch creation as prConcurrentLimit reached", and expected update PRs do not appear until open ones are merged or closed.

Renovate
INFO: Skipping branch creation as prConcurrentLimit (10) has been reached
  repository: myorg/service-api

Common causes

Too many open Renovate PRs

The number of open Renovate PRs reached prConcurrentLimit, so new branches are deferred until some close.

The hourly creation limit throttled new PRs

prHourlyLimit caps how many PRs are created per hour to avoid noise, spreading updates over time.

How to fix it

Raise or remove the limits deliberately

  1. Decide how many concurrent PRs the team can review.
  2. Set prConcurrentLimit and prHourlyLimit accordingly (0 disables the cap).
  3. Merge or close stale Renovate PRs to free slots.
renovate.json
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "prConcurrentLimit": 20,
  "prHourlyLimit": 4
}

Reduce PR volume with grouping

Group related updates so fewer PRs are needed, keeping you under the limit without raising it.

How to prevent it

  • Tune prConcurrentLimit/prHourlyLimit to review capacity.
  • Merge or close Renovate PRs promptly to free slots.
  • Group updates to cut total PR count.

Frequently asked questions

What causes ""PR limit reached""?
The number of open Renovate PRs reached prConcurrentLimit, so new branches are deferred until some close.
How do I fix "PR limit reached"?
Raise or remove the limits deliberately

Related guides

References

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