Skip to content
Latchkey

GitHub Actions "lost communication" After Sleep/Idle on Self-Hosted Runner

A self-hosted runner job is canceled because the host went to sleep or suspended mid-job - a laptop lid close, an OS idle-sleep timer, or aggressive power management cut the runner's connection to GitHub.

What this error means

A job on a self-hosted runner stops with a lost-communication or canceled message after a stretch of inactivity, and the host turns out to have slept or suspended. Disabling sleep on the host fixes it.

Actions log
The self-hosted runner: my-laptop-runner lost communication with the server.
The operation was canceled.

Common causes

Host slept or suspended mid-job

An OS idle-sleep timer, a closed laptop lid, or a power-saving suspend pauses the runner process and breaks its heartbeat, so GitHub cancels the job.

Runner runs in a user session that locks

A runner started in an interactive session can be paused when the session locks or the user logs out, dropping the connection.

How to fix it

Disable sleep and run as a service

  1. Disable system sleep/suspend and lid-close sleep on the runner host.
  2. Install the runner as a service (svc.sh) so it survives logout and runs headless.
  3. Re-run the canceled job; the interruption is transient once power management is fixed.

Prefer always-on hosts for runners

Run self-hosted runners on always-on servers or VMs rather than laptops, so idle power management cannot interrupt jobs.

How to prevent it

  • Disable sleep/suspend on self-hosted runner hosts.
  • Install runners as a managed service, not in an interactive session.
  • Use always-on machines for runners instead of laptops.

Frequently asked questions

What causes "Runner idle disconnect"?
An OS idle-sleep timer, a closed laptop lid, or a power-saving suspend pauses the runner process and breaks its heartbeat, so GitHub cancels the job.
How do I fix Runner idle disconnect?
Disable sleep and run as a service
Can Latchkey fix this automatically?
Yes. Latchkey runs your GitHub Actions on managed runners that detect this failure, apply the fix, and retry the job automatically - self-healing is on by default.

Related guides

References

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