# GitHub Actions hosted runners

Official pricing: https://docs.github.com/en/billing/reference/actions-runner-pricing  
Category: macos · Isolation: vm

## Pricing regimes (raw)

- **macOS runners, per minute** (sizes): macOS 3-core M1 (standard, 7 GB) 3 vCPU/7 GiB $3.72/h; macOS 5-core M2 Pro (xlarge, 14 GB) 5 vCPU/14 GiB $6.12/h; macOS 12-core Intel (large, 30 GB) 12 vCPU/30 GiB $4.62/h; macOS 4-core Intel (standard, 14 GB) 4 vCPU/14 GiB $3.72/h
- **Linux x64 standard runner (2-core), per minute** (sizes): Linux 2-core standard (actions_linux) 2 vCPU/8 GiB $0.36/h
- **Windows x64 runners, per minute** (sizes): Windows 2-core (standard) 2 vCPU/8 GiB $0.6/h; Windows 4-core (larger) 4 vCPU/16 GiB $1.32/h; Windows 8-core 8 vCPU/32 GiB $2.52/h; Windows 16-core 16 vCPU/64 GiB $4.92/h; Windows 32-core 32 vCPU/128 GiB $9.72/h; Windows 64-core 64 vCPU/256 GiB $19.32/h
- **Linux x64 larger runners, per minute** (sizes): Linux 4-core 4 vCPU/16 GiB $0.72/h; Linux 8-core 8 vCPU/32 GiB $1.32/h; Linux 16-core 16 vCPU/64 GiB $2.52/h; Linux 32-core 32 vCPU/128 GiB $4.92/h; Linux 64-core 64 vCPU/256 GiB $9.72/h; Linux 96-core 96 vCPU/384 GiB $15.12/h
- **Linux arm64 standard runner (2-core), per minute** (sizes): Linux arm64 2-core 2 vCPU/8 GiB $0.3/h
- **Linux arm64 larger runners, per minute** (sizes): Linux arm64 4-core 4 vCPU/16 GiB $0.48/h; Linux arm64 8-core 8 vCPU/32 GiB $0.84/h; Linux arm64 16-core 16 vCPU/64 GiB $1.56/h; Linux arm64 32-core 32 vCPU/128 GiB $3/h; Linux arm64 64-core 64 vCPU/208 GiB $5.88/h
- **GPU larger runners (T4), per minute** (sizes): Linux 4-core + 1x T4 (28 GB, 176 GB SSD) 4 vCPU/28 GiB $3.12/h; Windows 4-core + 1x T4 (28 GB, 176 GB SSD) 4 vCPU/28 GiB $6.12/h
- **Windows arm64 runners, per minute** (sizes): Windows arm64 2-core (standard, 8 GB) 2 vCPU/8 GiB $0.6/h; Windows arm64 2-core (larger, 8 GB) 2 vCPU/8 GiB $0.48/h; Windows arm64 4-core 4 vCPU/16 GiB $0.84/h; Windows arm64 8-core 8 vCPU/32 GiB $1.56/h; Windows arm64 16-core 16 vCPU/64 GiB $3/h; Windows arm64 32-core 32 vCPU/128 GiB $5.88/h

## Features

Yes: snapshots, idle auto-stop, custom image (Docker or snapshot), start from your own snapshot, full VM (own kernel), Docker inside, nested virtualization, root, browser, preinstalled agents, egress allowlist, open internet, static egress IP, private networking, self-hosting, open source, SOC 2, SSO, GPU, arm64, Windows, macOS, Python, Node.js, Go, Java, webhooks, audit logs, EU data residency, spend limits, MCP server, snapshots on demand, agent harness API, gVisor or VM (no shared kernel), inbound access rules, firewall inside (nftables)

No: memory snapshots, fork/clone, pause/resume, persistent disk, volumes, ≥24 h sessions, your own Docker/OCI image, systemd, desktop GUI, computer-use API, code interpreter, browser + desktop control, anti-bot stealth, CAPTCHA solving, residential IPs, SSH, public IPv4, HTTPS preview URLs, custom domains, raw TCP inbound, BYOC, HIPAA, GPU desktop, HTTP method/path egress rules, wake on request, live resize, live fork (no pause), memory fork, automatic snapshots, hosted agent API (their own agent), secret proxy, secret proxy for any API, extra volumes, shared volumes

Unknown: everything else. Evidence (source + quote) per feature: https://battleships.dev/data/providers/github-actions.json → feature_evidence

## Caveats

- Only usable as workflow jobs in GitHub repos; ToS ties use to repository CI. Standard runners are free for public repos.
- Standard job timeout 6 h. Per-job rounding up to the next minute.
- Self-hosted runners: the billing page says usage is free (no platform fee).
- macOS minimum is effectively 1 minute: GitHub is the lessor running 'Permitted Developer Services' on its own fleet.
- Linux CI runner modes are CI-minute products (jobs ≤6 h, ephemeral), not interactive sandboxes; the engine treats product class per preset.
- Plan fees ($4 Pro/Team per user, $21 Enterprise per user) are GitHub list prices from github.com/pricing as previously recorded; Pro is for personal accounts.
- macOS/Windows modes: included minutes not applied (draw-down rules not stated on the current billing page).
- Team $4/user and Enterprise $21/user are shown on github.com/pricing as first-12-months prices (2026-09-28); the later price is not shown. Personal Pro plan not encoded.
- Overage: without a payment method usage is blocked once included minutes are used; larger runners are always blocked until a payment method exists and the Actions budget must be > $0. With a card on file, overage is on unless a budget with 'Stop usage when budget limit is reached' is set.
- Copilot code review consumes Actions minutes on private repos since 2026-06-01, competing for included minutes.
- Plan included minutes apply to all standard runners (Linux x64/arm64 2-core, Windows 2-core, macOS standard), drawn down at list price, never to larger or GPU runners. The card applies them to the linux and linux-arm64 standard modes only, because the windows and macOS modes mix standard and larger sizes.

## How this provider charges


GitHub-hosted runners are billed **per job-minute, rounded up to the whole minute**. Plans include minutes for standard runners. Larger runners are always billed. All rates were re-checked against the official runner pricing reference.

## Regime table

| # | Regime | When it applies | How billed | Numbers ($/min) | Source |
|---|---|---|---|---|---|
| 1 | Standard runners | `ubuntu-latest`, `windows-latest`, `macos-latest` | Per minute, rounded up per job. Free for public repos | Linux 2-core $0.006; **Windows 2-core x64 $0.010**; Windows 2-core arm64 $0.010; **macOS 3/4-core (M1 or Intel) $0.062** | https://docs.github.com/en/billing/reference/actions-runner-pricing |
| 2 | Larger Windows x64 | Larger runner labels | Always billed (no quota, even public repos) | 4-core $0.022; 8 $0.042; 16 $0.082; 32 $0.162; 64 $0.322; 96 $0.552 | same |
| 3 | Larger Windows arm64 | same | same | 2-core $0.008; 4 $0.014; 8 $0.026; 16 $0.050; 32 $0.098; 64 $0.194 | same |
| 4 | Larger macOS | `macos-*-large` / `-xlarge` | same | 12-core Intel $0.077; 5-core M2 Pro $0.102 | same |
| 5 | GPU | GPU runners | same | Linux 4-core $0.052; Windows 4-core $0.102 | same |
| 6 | Included minutes | Private repos, standard runners | Monthly quota | Free 2,000; Pro/Team 3,000; Enterprise Cloud 50,000 minutes/month | https://docs.github.com/en/billing/concepts/product-billing/github-actions |
| 7 | Self-hosted runners | Your machines | "free for self-hosted runners" | $0 | same |

## Gotchas

1. Workflow jobs only: GitHub's terms tie Actions to repository CI. Standard jobs time out at 6 h.
2. macOS standard is 10x Linux; Windows is 1.7x.
3. How macOS/Windows jobs draw down included minutes is not stated on the current billing page.
4. The 1-minute macOS minimum is possible because GitHub is the lessor running CI ("Permitted Developer Services").

## Worked example

Workload: 4 vCPU / 8 GiB, 50 concurrent × 8 h/day × 22 days (8,800 h), 30% CPU, 50 GiB snapshots, 100 GiB egress. Illustrative.

| Regime | Rate | **Monthly** |
|---|---|---|
| macOS 5-core M2 Pro (smallest ≥ 4 cores) | $6.12/h | **$53,856.00** |
| macOS 12-core Intel (cheaper per hour) | $4.62/h | $40,656.00 |
| Windows 4-core larger runner | $1.32/h | **$11,616.00** |

Included minutes don't apply to larger runners. Cache/artifact storage is billed separately (not encoded). Egress is free.

Sources: https://docs.github.com/en/billing/reference/actions-runner-pricing · https://docs.github.com/en/billing/concepts/product-billing/github-actions
