GitHub Actions "The self-hosted runner is offline"
A self-hosted runner must hold a live connection to GitHub to receive jobs. If the runner service is stopped, the host is down, or the network is blocked, the runner shows offline and matching jobs queue forever.
What this error means
Jobs targeting a self-hosted label stay queued; the runner shows Offline in repo/org settings.
The self-hosted runner: my-runner-01 is offline.
Waiting for a self-hosted runner with the requested labels to come online.Common causes
Runner service stopped
The actions-runner service crashed or was not started after a reboot.
Host down or network blocked
The machine is powered off or cannot reach GitHub due to firewall/proxy issues.
How to fix it
Restart and verify the runner
- On the host, start the runner service (svc.sh start) or run ./run.sh.
- Confirm outbound access to github.com and the Actions endpoints.
- Verify the runner shows Idle in settings, then re-run the job.
Offload to managed runners
- Latchkey provisions runners on demand from warm pools, removing offline-host and queue-forever failure modes.
- Point runs-on at the Latchkey label to avoid babysitting self-hosted hosts.
jobs:
build:
runs-on: latchkey-smallHow to prevent it
- Run the runner as a service that auto-restarts on boot.
- Monitor runner connectivity and alert on offline status.