Title: GitHub Actions runner releases, installed for you
URL: https://codemany.com/features/auto-updates
Description: New GitHub Actions runner releases and Codemany updates install themselves on every Mac and Linux machine. No SSH, no scripts, no stale runner versions.
All pages as Markdown: https://codemany.com/llms.txt

---

[Home](https://codemany.com/) › [Features](https://codemany.com/features)

# Updates install themselves

Codemany picks up new GitHub Actions runner releases and installs its own updates on every Mac and Linux machine. You never log in to a machine to update it.

## Why runner versions matter

GitHub ships new runner releases often, and it retires old versions over time. Check GitHub's docs for the current rules.

A runner you set up by hand must keep up with them. That is one more chore on every machine. When a runner stops taking jobs, see [self-hosted runner offline](https://codemany.com/problems/self-hosted-runner-offline) for that case.

## What updates itself

- **The GitHub runner.** Codemany asks GitHub for the current runner release. Each fresh runner starts from it. You never pick a GitHub Actions runner version.
- **Codemany on a Mac.** The app installs its own updates, after running jobs finish.
- **Codemany on Linux.** On Debian and Ubuntu, a timer checks every hour. The service restarts into the new version once its jobs finish. More on [Linux runners](https://codemany.com/features/linux-runners).

An update never cuts a running job short. It waits for the job to end.

**How to turn it on.** On a Mac, there is nothing to do. On Linux, setup asks you to approve root once. That one step turns on automatic updates on Debian and Ubuntu. To check the last update run, use this:

```
systemctl status codemany-update.service
```

On other distros, run the install command again to get the latest version.

## Beta and Stable channels

You pick one channel for your account:

- **Stable** is the default. It gets minor and major releases.
- **Beta** also gets patch releases, as soon as they ship.

Every Mac and Linux machine signed in as you follows the same channel. On Linux, the switch takes effect within minutes. What changed in each release is in the [changelog](https://codemany.com/changelog).

## Urgent updates reach the fleet fast

Sometimes a fix can't wait. Each machine checks for an urgent update about every 5 minutes. When one names a newer version, the machine updates.

You can push one yourself, too. On Linux, press **Update Now** in the [fleet view](https://codemany.com/features/fleet-view) or the console. It works for every Linux machine, local or cloud.

## Cleanup after updates

Old versions don't pile up. When a new runner release is in place, Codemany deletes the older ones and their downloads. Each runner's folder is wiped after its job, as always.

## What you never do

- SSH into a machine to update it.
- Download runner releases or run `config.sh`.
- Restart a service in the middle of a job.

If something still looks stuck, start with [Troubleshooting](https://codemany.com/docs/troubleshooting).

## Questions

### Do I have to update the GitHub runner myself?

No. Each job's runner is fresh, and Codemany keeps it current.

### How do Linux machines update?

A timer checks for updates every hour. Update Now in the fleet view pushes one at once.

### Can I choose Beta?

Yes. Pick the Beta or Stable channel. Every machine signed in as you follows it.

## Related

Read next: [Linux runners](https://codemany.com/features/linux-runners), [the fleet view](https://codemany.com/features/fleet-view), [self-hosted runner offline](https://codemany.com/problems/self-hosted-runner-offline), [Troubleshooting](https://codemany.com/docs/troubleshooting) and the [changelog](https://codemany.com/changelog).

Codemany is $20 a month for 2 machines. Try it free for 14 days, with no card.

[Start a 14-day trial](https://codemany.com/docs/get-started)
