# GitHub Actions pricing in 2026

GitHub Actions bills hosted runners by the minute, at a set price for each runner. Private repositories pay once they use up the compute their plan includes. Public repositories on standard runners are free, and so are self-hosted runners.

These figures come from GitHub's [Actions billing page](https://docs.github.com/en/billing/concepts/product-billing/github-actions) and [runner price list](https://docs.github.com/en/billing/reference/actions-runner-pricing), checked on November 1, 2026.

## Price per minute

| Runner | Price per minute |
|---|---|
| Linux 1-core, x64 | $0.002 |
| Linux 2-core, arm64 | $0.005 |
| Linux 2-core, x64 | $0.006 |
| Windows 2-core | $0.010 |
| macOS 3-core or 4-core | $0.062 |

Larger runners are priced by size:

| Cores | Linux x64 | Linux arm64 |
|---|---|---|
| 4 | $0.012 | $0.008 |
| 8 | $0.022 | $0.014 |
| 16 | $0.042 | $0.026 |
| 32 | $0.082 | $0.050 |
| 64 | $0.162 | $0.098 |

GitHub rounds each job up to a whole minute, so ten jobs of 20 seconds each bill 10 minutes, though together they ran for less than 4. Each runner has its own price, so the minute multipliers in older guides no longer apply.

## What each plan includes

Included compute is a dollar amount each month, not a number of minutes:

| Plan | Included compute | About this many 2-core Linux minutes | Artifact storage |
|---|---|---|---|
| Free | $12 | 2,000 | 500 MB |
| Pro | $18 | 3,000 | 1 GB |
| Team | $18 | 3,000 | 2 GB |
| Enterprise Cloud | $300 | 50,000 | 50 GB |

The runner decides how far the amount goes. Free's $12 buys 2,000 minutes on 2-core Linux, or about 190 on macOS.

Every plan has 10 GB of Actions cache per repository. Past what's included, shared storage for artifacts and GitHub Packages costs $0.25 per GB a month. Actions cache costs $0.07 per GB a month, and you pay that only if you raise a repository's cache limit above the 10 GB.

When the included compute runs out, an account with no valid payment method is blocked. An account with one pays the prices above, and can set budgets to limit its spending.

## What's free

- **Standard runners in public repositories.** Larger runners are billed even there.
- **Self-hosted runners.** They don't use your included compute either. You still pay for the machines.

GitHub announced a charge of $0.002 per minute on self-hosted runners for March 2026, then [postponed it](https://github.blog/changelog/2025-12-16-coming-soon-simpler-pricing-and-a-better-experience-for-github-actions/) to re-evaluate. Its billing page lists self-hosted runners as free, and the changelog gives no new date.

## What changed in 2026

- **January 1:** [hosted runner prices fell by up to 39%](https://github.com/resources/insights/2026-pricing-changes-for-github-actions).
- **March 1:** the self-hosted charge was due to start. It didn't.
- **June 1:** [Copilot code review started using Actions minutes](https://github.blog/changelog/2026-04-27-github-copilot-code-review-will-start-consuming-github-actions-minutes-on-june-1-2026/). In private repositories, each review draws on your included compute and then bills at the prices above, on top of its AI credits. In public repositories, the runner time is free.

## Estimate your bill

Add up the minutes of every job in one run. A matrix of six jobs bills six jobs, so count them all. Then:

```text
runs a month × billable minutes per run × price per minute − included compute
```

Say a Team organization starts 40 runs each working day, 12 billable minutes each on 2-core Linux, for 22 working days:

```text
40 runs × 12 minutes × 22 days = 10,560 minutes
10,560 minutes × $0.006        = $63.36
$63.36 − $18 included          = $45.36 a month
```

The [GitHub Actions cost calculator](https://hushrun.com/calculator) gives the total before what your plan includes, and shows how much of it re-tests files an earlier stage already tested. [GitHub's own calculator](https://github.com/pricing/calculator) prices a plan.

## Pay less

A bill is runs, times minutes, times price. A run you avoid saves all of its minutes, while a cheaper runner saves a share of them, so start with the runs. [Reduce your GitHub Actions costs](https://hushrun.com/docs/guides/reduce-ci-costs.md) covers each step.

[`hushrun run`](https://hushrun.com/docs/run.md) works on the second of the three. It skips a check when this exact code already passed it, including on a laptop or in a coding agent's sandbox. The job still starts and installs, so hushrun saves the check's minutes, not the job's.

## Related

- [Reduce your GitHub Actions costs](https://hushrun.com/docs/guides/reduce-ci-costs.md)
- [Why CI runs the same tests twice](https://hushrun.com/docs/guides/duplicate-ci-runs.md)
- [Keep CI useful with coding agents](https://hushrun.com/docs/guides/coding-agents-ci.md)
