Title: OS X runners on your own Apple silicon Mac
URL: https://codemany.com/features/mac-runners
Description: Run macOS GitHub Actions jobs on the Apple silicon Mac you own. Xcode, Homebrew and simulators you already have, a fresh runner per job, $20 a month.
All pages as Markdown: https://codemany.com/llms.txt

---

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

# macOS runners on your own Mac

Codemany turns the Apple silicon Mac you own into a GitHub macOS runner. Each job gets a fresh runner and uses the Xcode and tools already on your Mac.

## What you get

Some people still call them OS X runners. Either way, the idea is simple. Your Mac runs your GitHub Actions jobs, not GitHub's.

- **A fresh runner per job.** Each one is used once, then wiped.
- **A flat price.** $20 a month for 2 machines, however long jobs take.
- **No setup scripts.** The background service keeps taking jobs, even with the app closed.

## Your Xcode, your tools

Jobs use what is on your Mac: Xcode, Homebrew packages, simulators and Docker. Nothing is preinstalled. Codemany checks your tools every 30 minutes.

Need a tool? Codemany can install Homebrew packages such as CocoaPods, fastlane and SwiftLint. It installs them as your user, never as root.

Downloads from `actions/setup-*` steps stay in a shared tool cache. So your Mac pipeline doesn't fetch the same Node or Python each time.

## Xcode labels such as xcode-26.0

On a Mac with Xcode, runners carry `xcode` and a version label, such as `xcode-26.0`. The version follows the Xcode picked with `xcode-select`.

```
jobs:
  build:
    runs-on: [self-hosted, codemany, xcode-26.0]
    steps:
      - uses: actions/checkout@v4
      - run: xcodebuild build -scheme App -destination 'generic/platform=iOS Simulator'
```

Use plain `xcode` when any Xcode will do. Pin a version when the build needs it. Then jobs wait rather than use the wrong one. More in [iOS and Xcode builds](https://codemany.com/docs/guides/ios-xcode).

## Keeps your Mac awake for jobs

A Mac that sleeps mid-job makes the job fail. Codemany keeps the Mac awake while jobs run, until 2 minutes after the last one. You can change that to "while runners are online", or never.

Some sleep it can't stop. A laptop on battery with the lid closed will sleep. So can a Mac in Low Power Mode. Codemany warns you, and after a sleep it tells you which jobs were lost.

## How jobs run on a Mac

A job runs as your user. It can read and change your files, like a command you type. A Mac runner is not a sandbox. So only run workflows you trust, on private repos. Public repos stay off unless you turn them on. Read [Security and privacy](https://codemany.com/docs/security).

GitHub's hosted Macs come in set runner sizes. Here, the size is your Mac. Each job needs about 4 GB of memory. An 8 GB Mac runs 1 job at a time. A 16 GB Mac runs 3. If hosted Mac jobs feel slow, see [why GitHub Actions on macOS is slow](https://codemany.com/problems/github-actions-macos-slow).

## Requirements

- A Mac with Apple silicon, on macOS 14 or later. Intel Macs are not supported.
- A GitHub account that can add runners: a repo admin or an organization owner.
- Then one line in your workflow: `runs-on: [self-hosted, codemany]`.

Every step is in the [Mac runner guide](https://codemany.com/docs/guides/mac-runner). Prices are on the [pricing page](https://codemany.com/pricing).

## Questions

### Which Macs work?

Apple silicon Macs on macOS 14 or later. Intel Macs are not supported.

### Do jobs run in a sandbox on a Mac?

No. They run as your user, so only run workflows you trust.

### Do I have to keep the app open?

No. The background service keeps taking jobs.

## Related

Read next: the [Mac runner guide](https://codemany.com/docs/guides/mac-runner), [iOS and Xcode builds](https://codemany.com/docs/guides/ios-xcode), [slow macOS jobs](https://codemany.com/problems/github-actions-macos-slow), [Security and privacy](https://codemany.com/docs/security) and [pricing](https://codemany.com/pricing).

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)
