Skip to content
Latchkey

ARC "failed to get desired runner count" in CI

The listener periodically asks the Actions service how many runners are needed. "failed to get desired runner count" means that poll failed, so ARC cannot decide whether to scale up or down.

What this error means

The listener logs "failed to get desired runner count" intermittently, and scaling stalls or lags behind queued jobs. It may recover on its own or keep failing if the session is broken.

listener
ERROR failed to get desired runner count
  {"error": "the session has expired, please re-create the session"}

Common causes

The message session expired

The long-lived session dropped, so the count poll fails until the listener recreates the session.

Transient Actions service or network error

A momentary 5xx or connection reset makes a single poll fail; ARC retries on the next cycle.

How to fix it

Restart the listener to recreate the session

  1. Confirm from the logs whether the session expired.
  2. Delete the listener pod so it re-registers and opens a fresh session.
  3. Watch the desired count polls succeed again.
Terminal
kubectl delete pod -n arc-systems <listener-pod>

Check egress to the Actions service

Ensure the listener can reach GitHub over HTTPS through any proxy, since repeated failures often trace to blocked or throttled egress.

How to prevent it

  • Allow stable egress to the GitHub Actions service from the listener.
  • Monitor listener logs for repeated session expirations.
  • Keep the controller current so session handling has the latest fixes.

Frequently asked questions

What causes ""failed to get desired runner count""?
The long-lived session dropped, so the count poll fails until the listener recreates the session.
How do I fix "failed to get desired runner count"?
Restart the listener to recreate the session

Related guides

References

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