Skip to content
Latchkey

ARC listener "failed to create session" in CI

The RunnerScaleSet listener opens a long-lived message session with the GitHub Actions service to receive job assignments. "failed to create session" means that handshake was rejected, usually on auth, scope, or a stale session already held.

What this error means

The listener pod logs "failed to create session" and often crashes and restarts. No jobs get dispatched to runners while the session cannot open.

listener
ERROR failed to create session
  {"error": "the request was rejected: 403, or a session already exists
  for this runner scale set"}

Common causes

Credential lacks scope for the Actions service

The App or PAT authenticates to the REST API but is not authorized for the Actions service message session, producing a 403 during session creation.

A stale session from a previous listener

A prior listener did not release its session, so a new one is refused until the old session times out or the scale set is reset.

How to fix it

Check listener logs and credential scope

  1. Read the listener logs for the exact rejection code.
  2. Confirm the App has self-hosted runner administration and Actions read.
  3. If a stale session is reported, delete the listener pod so it re-registers.
Terminal
kubectl logs -n arc-systems -l \
  actions.github.com/scale-set-name=arc-runner-set --tail=100

Recreate the AutoscalingRunnerSet to clear a stuck session

If the session stays stuck, uninstall and reinstall the scale set release so GitHub drops the old session server side.

Terminal
helm uninstall arc-runner-set -n arc-runners
helm install arc-runner-set \
  oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set \
  -n arc-runners -f values.yaml

How to prevent it

  • Grant the App the full runner administration scope up front.
  • Avoid running two scale sets with the same name against one target.
  • Let a listener shut down cleanly so it releases its session.

Frequently asked questions

What causes ""failed to create session""?
The App or PAT authenticates to the REST API but is not authorized for the Actions service message session, producing a 403 during session creation.
How do I fix "failed to create session"?
Check listener logs and credential scope

Related guides

References

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