GitHub refuses self-hosted runners below 2.329.0: stop maintaining runners
Since September 29, 2026, GitHub Enterprise Cloud refuses to register a self-hosted Actions runner below version 2.329.0, and runners below a higher run-time minimum stop running jobs even if they were registered before. GitHub's docs add the standing rule: a runner not updated within 63 days of a new release gets no jobs.
Self-hosted runners are free on GitHub's bill. Keeping them running is not free: it is upkeep with a deadline. Skipbox gives you the free self-hosted path with none of it. Change runs-on to skipbox, and your jobs run on your own machine that Skipbox keeps current, for a flat $39 a month.
What GitHub enforces
There are two lines, checked at different moments:
| Registration minimum | Run-time minimum | |
|---|---|---|
| Checked when | A runner registers or reregisters | A registered runner asks for a job |
| The line | 2.329.0 | Higher, and it moves with each release |
| Below it | The runner can't register | The runner gets no jobs |
Enforcement began on July 31, 2026 for Enterprise Cloud with Data Residency and on September 29 for Enterprise Cloud. Enterprise Server isn't affected. A runner with automatic updates on keeps itself current; the ones that break are runners with --disableupdate, container images, golden VM images and Actions Runner Controller set not to update.
What it costs you
Nothing on the invoice. Everything in hours.
- Ephemeral runners fail first. Each job starts with a registration, so an image with an old runner fails at the first job after the deadline, and the whole queue with it.
- Every image is on a 63-day clock. Container and VM images need a rebuild with each runner release, and the OS and tools under it need their own updates. GitHub's automatic update covers the runner application only.
- Stopped runners stop merges. A runner that gets no jobs leaves pull requests waiting until someone notices, finds the version and rebuilds.
The alternative, going back to GitHub-hosted runners, puts you on the meter:
| Minutes a month (4 vCPU) | GitHub | Skipbox S | You save each month |
|---|---|---|---|
| 10,000 | $102 | $39 | $63 |
| 20,000 | $222 | $39 | $183 |
| 30,000 | $342 | $39 | $303 |
GitHub's figure is after GitHub Team's included compute. Try your own minutes in the calculator on the home page.
Skipbox is the move
- No machine to manage. Skipbox builds the machine, updates the image and the runner application, cleans up after every job, and rebuilds a machine that fails its health check.
- Still free on GitHub's bill. Skipbox's runners connect as self-hosted runners, so their minutes cost nothing on GitHub.
- Flat price, unlimited minutes. $39, $79 or $149 a month.
- The speed you ran your own runners for. Your machine is kept between jobs: Docker images and layers, package caches and the tool cache stay on disk.
Moving is one line
jobs:
build:
runs-on: skipbox # was your self-hosted label
- Sign in to Skipbox with GitHub.
- Install the Skipbox GitHub App and pick the repositories.
- Change
runs-onand push.
Security
- Your machine is your account's alone. No other company's jobs run on it.
- After every job, the runner's credentials, processes and containers are wiped. From 13 November 2026, your checkout and its build output (Cargo's
target/) stay on your own machine for your next jobs; Clean every job gives each job a fresh machine. - Code from people without write access (such as pull requests from forks) runs on a fresh VM that is deleted afterwards.
More in how jobs are isolated.
Try it
The trial takes no card: 7 days or 3,000 job-minutes, whichever comes first. Point one workflow at runs-on: skipbox and retire the runner image you were about to rebuild.
FAQ
What is the minimum version for a GitHub Actions self-hosted runner?
To register on GitHub Enterprise Cloud: 2.329.0, since September 29, 2026. To keep getting jobs, a runner must be updated within 63 days of each new release. On Skipbox you never track either: Skipbox installs the runner application and keeps it current.
Why did my self-hosted runner stop picking up jobs?
One cause is its version. Runners below the run-time minimum, which is higher than the registration minimum, stop running jobs even if they were registered before. Skipbox's runners are rebuilt by Skipbox, so a version deadline never stops your jobs.
Does the runner version enforcement apply to GitHub Team?
GitHub's September 28, 2026 changelog names Enterprise Cloud. The 63-day rule in GitHub's docs has no plan attached: a runner not updated in time gets no jobs on any plan. Skipbox keeps the runner current on every plan.
How do I update a self-hosted runner in a container or under ARC?
Rebuild the image with the latest runner release, and again within 63 days of each new one. That is recurring work for every image you own. Skipbox does it for you: change runs-on to skipbox and the image is Skipbox's to rebuild.
Updated November 11, 2026