# Buildhound vs GitHub-hosted runners

> GitHub-hosted runners are the default: nothing to set up, billed by the minute in private repositories. Buildhound runs the same jobs on machines you already have, for a flat price per machine, and keeps GitHub-hosted as the fallback.

## A month of macOS CI

List prices, before free minutes or credits on any side, cheapest first at 5,000 minutes. One machine runs these minutes a job at a time; more jobs at once need more machines, each counted only on days it runs a job.

| Option | 2,000 minutes | 5,000 minutes | 10,000 minutes |
| --- | --- | --- | --- |
| Buildhound Personal (one machine you already have) | $10 | $10 | $10 |
| Buildhound Team (one machine you already have) | $24 | $24 | $24 |
| [GitHub-hosted](https://docs.github.com/en/billing/reference/actions-runner-pricing), checked 15 October 2026 (`macos-latest`, list price) | $124 | $310 | $620 |

- At 2,000 minutes: One Mac you already have costs $24 a month on Team. GitHub-hosted runners costs $124.
- At 5,000 minutes: One Mac you already have costs $24 a month on Team. GitHub-hosted runners costs $310.
- At 10,000 minutes: One Mac you already have costs $24 a month on Team. GitHub-hosted runners costs $620.

## A month of Linux CI

List prices, before free minutes or credits on any side, cheapest first at 5,000 minutes. One machine runs these minutes a job at a time; more jobs at once need more machines, each counted only on days it runs a job.

| Option | 2,000 minutes | 5,000 minutes | 10,000 minutes |
| --- | --- | --- | --- |
| Buildhound Personal (one machine you already have) | $10 | $10 | $10 |
| Buildhound Team (one machine you already have) | $24 | $24 | $24 |
| [GitHub-hosted](https://docs.github.com/en/billing/reference/actions-runner-pricing), checked 15 October 2026 (`ubuntu-latest`, list price) | $12 | $30 | $60 |

- At 2,000 minutes: GitHub-hosted runners costs less here, $12 against $24 for one machine on Team. One machine pays off from about 4,000 minutes a month.
- At 5,000 minutes: One machine you already have costs $24 a month on Team. GitHub-hosted runners costs $30.
- At 10,000 minutes: One machine you already have costs $24 a month on Team. GitHub-hosted runners costs $60.

## Choose GitHub-hosted runners when

- Your CI fits in the included minutes.
- Nobody on the team has a machine to spare.
- You need Windows, or many jobs at once without owning anything.

## Choose Buildhound when

- macOS jobs queue behind the limit of 5 at a time.
- Agents open more pull requests than the included minutes cover.
- You have a recent Mac that runs the same jobs about 3x faster.

## Side by side

GitHub-hosted runners's side is from its own pages ([source](https://docs.github.com/en/billing/reference/actions-runner-pricing)), checked 15 October 2026.

### Price

| | Buildhound | GitHub-hosted runners |
| --- | --- | --- |
| How it is priced | Flat, per machine. $10 a machine a month on a personal account, $24 in an organisation, counted only on days it runs a job. Public repositories free. | By the minute. In private repositories, each job rounded up to the whole minute. Free and Team include 2,000 and 3,000 minutes a month; a macOS minute uses about ten. |
| macOS | Your Mac. A fresh macOS VM per job; Apple allows two per Mac. | $0.062 a minute. `macos-latest`, 3 vCPU. |
| Linux | Your Mac or Linux box. A fresh Linux VM per job, arm64 on a Mac. | $0.006 a minute. `ubuntu-latest`, 2 vCPU x64; arm64 at $0.005. |
| Windows | Not yet. Windows jobs stay on GitHub-hosted. | $0.01 a minute. `windows-latest`, 2 vCPU. |

### Where it runs

| | Buildhound | GitHub-hosted runners |
| --- | --- | --- |
| Machines | Yours. A spare Mac, a Linux box, or a laptop while plugged in and not in use. | GitHub's machines. Hosted by GitHub. |
| Each job | A fresh VM, destroyed after. It reaches the internet and never your network. | A fresh VM. For each job. |
| Secrets | On your hardware. Only on a machine a person marked Trusted. | On GitHub's machines. Like every hosted runner. |

### When things change

| | Buildhound | GitHub-hosted runners |
| --- | --- | --- |
| Runners unavailable | New jobs route to the healthy side. GitHub-hosted, within about two minutes; a stuck job is re-run. | Jobs queue. Until GitHub-hosted recovers. |
| Jobs at once | As many as your machines hold. Such as one macOS and one Linux job on a 24 GB Mac mini. When every machine is busy, new jobs go to GitHub-hosted after two and a half minutes. | 5 macOS jobs at a time. On Free, Pro and Team, 50 on Enterprise; the rest queue. |
| Setup | One prompt to your coding agent. Or two commands by hand. | None. It is the default `runs-on` label. |

## One line in runs-on

GitHub-hosted runners:

```yaml
runs-on: macos-latest
```

Buildhound, on your machine while one can take the job and on GitHub-hosted when none can:

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

Buildhound has no referral agreement with GitHub-hosted runners. Source: https://buildhound.sh/compare/github-hosted.
