Skip to content
Latchkey

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.

github-actions
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

  1. On the host, start the runner service (svc.sh start) or run ./run.sh.
  2. Confirm outbound access to github.com and the Actions endpoints.
  3. Verify the runner shows Idle in settings, then re-run the job.

Offload to managed runners

  1. Latchkey provisions runners on demand from warm pools, removing offline-host and queue-forever failure modes.
  2. Point runs-on at the Latchkey label to avoid babysitting self-hosted hosts.
.github/workflows/ci.yml
jobs:
  build:
    runs-on: latchkey-small

How to prevent it

  • Run the runner as a service that auto-restarts on boot.
  • Monitor runner connectivity and alert on offline status.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →