Skip to content
Latchkey

Bitbucket Self-Hosted Runner Offline - Jobs Stuck Queued

Your self-hosted runner dropped offline - the process stopped, the host lost network, or its credentials expired - so steps targeting it sit queued with nothing to run them.

What this error means

Steps that target the self-hosted runner stay queued indefinitely. The Runners page shows the runner as offline or disabled. Restarting the runner clears the backlog, which points at a transient connectivity or process issue.

Bitbucket UI
Runner "linux-build-01" is OFFLINE.
Waiting for a runner to become available...

Common causes

The runner process stopped or the host lost network

A crashed/stopped runner container, a rebooted host, or a network blip disconnects the runner from Bitbucket. It cannot accept jobs while disconnected.

Expired credentials or outdated runner

A rotated OAuth token or an outdated runner version can prevent the runner from re-registering, so it never comes back online.

How to fix it

Restart the runner and confirm it reconnects

Terminal
# on the runner host
docker restart <runner-container>
# or systemd-managed
systemctl restart bitbucket-runner
# then confirm it shows ONLINE on the Runners page

Check connectivity, credentials, and version

  1. Verify the host can reach Bitbucket over the network/proxy.
  2. Re-create the runner if its OAuth credentials were revoked or rotated.
  3. Update to a current runner image so registration is not rejected.

How to prevent it

  • Run runners under a supervisor (systemd/Docker restart policy) so they self-recover.
  • Keep more than one runner online for redundancy.
  • Alert on runner offline status and keep the runner version current.

Related guides

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