Blog
2 min read

GitHub Enforces Minimum Self-Hosted Runner Versions on Enterprise Cloud

Since 29 September 2026, GitHub Enterprise Cloud enforces minimum versions for self-hosted Actions runners: runners below 2.329.0 can't register or re-register, and runners below a higher job-execution minimum stop running jobs. Who's affected, how to check your fleet with the new runner-deprecation REST API, and how to keep runners updated.

GitHub moved the date, then pulled the trigger: full enforcement of minimum self-hosted runner versions began on 29 September 2026 for GitHub Enterprise Cloud.

The rules

  • Registration: self-hosted runners below version 2.329.0 can't register or re-register.
  • Running jobs: there's a higher minimum for executing jobs. Existing runners below it stop picking up jobs, even though they're already registered.
  • Who: GitHub Enterprise Cloud. Enforcement for Enterprise Cloud with data residency started on 31 July 2026. GitHub Enterprise Server isn't affected.

If a self-hosted runner silently stopped taking jobs around the end of September, this is the likely cause.

How to check and fix

  1. Find your runners' versions in your organisation or repository settings (Actions → Runners), or in each runner's logs.
  2. Upgrade old runners. Runners normally auto-update; ones that don't are usually pinned with --disableupdate, run from stale container images, or can't reach GitHub's download endpoints.
  3. Rebuild runner images (Docker, AMIs, VM templates) with a current runner version, and schedule regular rebuilds.
  4. Use the new REST API (added in early September) that returns when registration and runtime support end for any runner version, and alert before deadlines.

If you use Actions Runner Controller on Kubernetes, update the controller and runner images together — ARC 0.15.0 was released on 1 October.

  • Node 20 was removed from runners; JavaScript actions run on Node 24, which doesn't support macOS 13.4 and earlier or ARM32 — so some old self-hosted platforms are no longer usable. (GitHub Actions Removed Node 20)
  • ubuntu-latest moves to 26.04 between 19 October and 19 November (GitHub-hosted). (Ubuntu 26.04 Runners)
  • Workflow execution protections went GA, with a default rule blocking pull_request_target in public repos from 2 November. (pull_request_target Protections)

Why GitHub is doing this

Old runner versions miss security fixes and protocol changes, and self-hosted runners often have access to private networks and deployment credentials — exactly what supply-chain attackers look for. Keeping them current is basic hygiene. (npm Supply Chain Security, Principle of Least Privilege)

Source: GitHub Changelog: Self-hosted runner version enforcement date has moved


EasySpawn builds and deploys on your own managed server, with GitHub Actions free to run as an independent check — no self-hosted runner fleet to keep patched. See how it works or join the waitlist.

Related: GitHub Actions CI Basics · GitHub Actions: Deploy to a VPS · GitHub Actions Caching · What Is CI/CD?

Keep reading