# Questions

> The questions teams ask before they connect a Mac, each answered in its first line.

Running GitHub Actions on your own Mac, the macOS queue, what hosted minutes cost, public repositories, laptops and hosted vendors, answered.

## How do I run GitHub Actions on my own Mac?

Connect the Mac as a runner, then point each job at it. With Buildhound that is one prompt in Claude Code, Codex or Cursor, or two steps by hand. On the Mac:

```
npx buildhound runner add --org <owner> --label macos --yes
```

Then, in each workflow, replace the hosted label with the routing line. This is the form for a private repository; a public one uses the longer line in [Workflows](https://buildhound.sh/docs/workflows), which keeps strangers' jobs on GitHub-hosted.

```
runs-on: ${{ vars.BUILDHOUND_MACOS || 'macos-latest' }}
```

Every job then runs in a fresh virtual machine on the Mac, destroyed when it ends, and falls back to GitHub-hosted whenever the Mac cannot take it. Linux jobs run within minutes; macOS jobs start once the Mac has built its macOS image, which took 29 to 46 minutes in our runs. The steps in full: [Set up by hand](https://buildhound.sh/docs/setup-by-hand).

## Why do my macOS jobs wait in the GitHub Actions queue?

Because GitHub runs at most five hosted macOS jobs at a time on its Free, Pro and Team plans, shared with larger runners ([GitHub's Actions limits](https://docs.github.com/en/actions/reference/limits)). When your agents open more pull requests than that, the rest wait before they start. One team reported a 25m 56s wait for a hosted macOS runner against 12s on its own Mac mini for the same commit ([SlyWombat/MegaPDF #614](https://github.com/SlyWombat/MegaPDF/issues/614)).

A Mac you own adds slots beside those five. Buildhound sends jobs to your Macs first and keeps GitHub-hosted as the fallback, so new jobs route to the healthy side when every Mac is busy or away.

## How much do GitHub-hosted macOS runners cost?

$0.062 a minute for GitHub's standard macOS runner and $0.006 for Linux, each job rounded up to the whole minute ([GitHub's runner pricing](https://docs.github.com/en/billing/reference/actions-runner-pricing), checked 6 October 2026). At 5,000 macOS minutes a month that is $310. Public repositories run free on GitHub's standard runners.

Buildhound charges per machine instead, never per minute: free for public repositories, $10 a machine a month on a personal account and $20 in an organisation. See [Pricing](https://buildhound.sh/pricing).

## Is a self-hosted runner safe for a public repository?

Not a plain one. GitHub advises against self-hosted runners on public repositories, because a pull request from a fork can run its code on your machine.

Buildhound keeps those jobs on GitHub-hosted. On a public repository the routing line sends a job to your machine only for `push`, `schedule`, `workflow_dispatch`, `merge_group`, `release` and pull requests from the repository's own branches, and the control plane refuses anything else as a second line. Every job also runs in a fresh VM that reaches the internet and nothing on your network. See [Security](https://buildhound.sh/docs/security).

## Can I use a MacBook as a CI runner?

Yes, as extra capacity rather than the team's only runner. A laptop takes jobs only while plugged in by default, can be set to take them only when nobody is using it, and runs one job at a time; a Mac mini or another always-on Mac is the base. When the laptop closes or leaves, new jobs route to the healthy side. See [Machines](https://buildhound.sh/docs/machines).

## How is Buildhound different from Blacksmith, Depot or WarpBuild?

Those vendors run your jobs on their machines and bill by the minute, macOS from $0.080 a minute at list price. Buildhound runs them on Macs you already own and bills per machine. If you have no Mac to spare, or need many macOS jobs at once without buying hardware, a hosted vendor is the simpler choice. Every vendor's list price, ranked: [Pricing](https://buildhound.sh/pricing#vendors).

## Does Buildhound replace GitHub-hosted runners?

No. Your Macs run beside GitHub's: jobs go to your Macs first, new jobs route to the healthy side when no Mac can take them, and a job that waits too long for a busy Mac is re-run on GitHub-hosted, so a Mac never holds a pull request up. Windows jobs stay on GitHub-hosted.

Source: https://buildhound.sh/docs/questions. Last updated 15 October 2026.
