# Buildhound vs Cirun

> Cirun creates GitHub Actions runners in your own cloud account, or on your machines with its agent, for a monthly fee by repository. Buildhound runs your jobs on machines you already have, for a flat price per machine.

## Choose Cirun when

- You want runners in your own cloud account.
- You want GPUs, or a provider such as Hetzner.
- You prefer a fee by repository to a fee by machine.

## Choose Buildhound when

- The machines are ones you already have, laptops included.
- Laptops should take jobs only while plugged in and not in use.
- You want GitHub-hosted kept as the fallback when no machine can take a job.

## Side by side

Cirun's side is from its own pages ([source](https://cirun.io/pricing)), checked 16 October 2026.

### Price

| | Buildhound | Cirun |
| --- | --- | --- |
| 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. | A fee by repository. $29 a month for 3 private repositories, $79 a month for 10 private repositories, free for public ones, plus your cloud bill. |
| macOS | Your Mac. A fresh macOS VM per job; Apple allows two per Mac. | Your own Macs. In VMs through Lume. |
| Linux | Your Mac or Linux box. A fresh Linux VM per job, arm64 on a Mac. | Your cloud. Or VMs on your own machines. |

### Where it runs

| | Buildhound | Cirun |
| --- | --- | --- |
| Machines | Yours. A spare Mac, a Linux box, or a laptop while plugged in and not in use. | Your cloud account. Such as AWS, GCP, Azure or Hetzner, or your machines with its agent. |
| Each job | A fresh VM, destroyed after. It reaches the internet and never your network. | A fresh runner. Destroyed after the job. |
| Secrets | On your hardware. Only on a machine a person marked Trusted. | In your cloud or on your machines. |

### When things change

| | Buildhound | Cirun |
| --- | --- | --- |
| Setup | One prompt to your coding agent. Or two commands by hand. | A `.cirun.yml` and its GitHub App. Then a Cirun label in `runs-on`. |

## One line in runs-on

Cirun:

```yaml
runs-on: cirun-<label>--${{ github.run_id }}
```

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

```yaml
runs-on: ${{ vars.BUILDHOUND_LINUX || 'ubuntu-latest' }}
```

Buildhound has no referral agreement with Cirun. Source: https://buildhound.sh/compare/cirun.
