The full guide
GitHub Actions pricing, step by step
GitHub Actions costs nothing on public repositories that use standard runners, and nothing on self-hosted runners. A private repository gets a monthly allowance of free minutes — 2,000 on GitHub Free, 3,000 on Pro and Team, 50,000 on Enterprise Cloud — and then pays per minute: $0.006 on Linux 2-core, $0.010 on Windows 2-core, $0.062 on macOS. Every figure here was read from GitHub's docs on 12 October 2026.
GitHub Actions price per minute
GitHub bills each job by the minute at its runner's rate, rounding the minutes and partial minutes up to the next whole minute. A job that runs 4 minutes 45 seconds on macOS is billed as 5 minutes: $0.31.
- Linux 1-core (
ubuntu-slim): $0.002 a minute. A container, for short automation jobs, with a 15-minute job timeout. - Linux 2-core (
ubuntu-latest): $0.006; the arm64 version $0.005. - Windows 2-core (
windows-latest): $0.010, x64 or arm64. - macOS (
macos-lateston M1, ormacos-15-intel): $0.062 — about ten times Linux.
On a public repository the 2-core Linux and Windows labels run on 4-core machines, and every standard runner costs nothing.
Is GitHub Actions free?
For public repositories on standard runners, yes, without a limit; the same goes for GitHub Pages and Dependabot, and for self-hosted runners anywhere. For private repositories, each plan includes minutes for standard runners, reset at the start of each billing cycle:
- GitHub Free and Free for organizations: 2,000 minutes, 500 MB of artifact storage.
- GitHub Pro: 3,000 minutes, 1 GB.
- GitHub Team: 3,000 minutes, 2 GB.
- GitHub Enterprise Cloud: 50,000 minutes, 50 GB.
Every plan includes 10 GB of cache per repository. Minutes are charged to the repository owner, not to whoever triggered the run, and a failed job counts: one that fails after 5 minutes and passes on a 10-minute re-run uses 15. Copilot code review runs on Actions and uses the same minutes on private repositories.
How the free minutes count for Windows and macOS
GitHub's docs used to say: Windows minutes count twice and macOS minutes ten times against the allowance. That table left the billing page on 16 December 2025, replaced by a dollar rate per runner. GitHub's changelog, explaining how self-hosted usage would have drawn on the included quota, says it works "based on list price the same way that Linux, Windows, and MacOS standard runners work today".
The calculator on this page reads that literally: the included minutes are worth that many Linux 2-core minutes, so a macOS minute uses about ten of them and a Windows minute about one and two thirds. It also shows the month if every minute counted one for one, dearest first — the best case — because the billing docs do not spell the conversion out.
GitHub Actions cost of larger runners
Larger runners — 4 to 96 cores, arm64, GPU, the bigger macOS machines — are for GitHub Team and Enterprise Cloud. They never use the included minutes and are billed even in public repositories; an idle one costs nothing. A Linux 4-core x64 runner is $0.012 a minute and a 64-core one $0.162; Windows 64-core is $0.322; the GPU runners are $0.052 on Linux and $0.102 on Windows; macOS 5-core M2 Pro is $0.102. The full grid is in the tables above.
Artifact storage and cache pricing
Storage is billed by the hour in GB-hours and summed over the month. Past the plan's allowance, artifacts and GitHub Packages cost $0.25 per GB a month, the Actions cache $0.07 and custom runner images $0.07. Deleting an artifact stops new charges; what accrued earlier in the cycle stays on the bill. Cache is measured as each hour's peak and billed only if you raised a repository's cache limit above the included 10 GB.
What changed in 2026
On 1 January 2026 GitHub cut hosted-runner prices by up to 39%: Linux 2-core from $0.008 to $0.006 a minute and Windows 2-core from $0.016 to $0.010. It also announced a $0.002-a-minute charge for self-hosted runners from 1 March, then postponed it — "We're postponing the announced billing change for self-hosted GitHub Actions" — and the billing docs read on 12 October 2026 say self-hosted runners are free. The changelog adds that the hosted rates already include a $0.002 platform charge. Several results for this query on 12 October 2026 were written before the postponement.
See the cost of each CI run in Caprock
GitHub's billing page tells you the month. Caprock, the free app that records every coding agent on your machine, prices each finished job in the Pull requests & CI cell of a session — the job beside its time (macOS 4m 45s · $0.31), the run and the pull request — from a versioned rate table, pricing/actions.json, which carries every runner rate on this page, its source and the day it was read.
- Public repositories show $0 · public repo when every minute ran free.
- Self-hosted and unrecognised runners say unpriced rather than guess.
- Figures are list price before your included minutes; the job cannot know how much of the allowance is left.
- What GitHub billed: with a token that may read billing, the Main view shows this month's Actions minutes and dollars from GitHub's usage report; when GitHub refuses, it names the permission the token lacks.
The job's dollars are an estimate from GitHub's published rates, shown beside the agent's own list-price cost for the same pull request. Free, open source, local; GitHub is an integration you switch on. Install Caprock.
Questions people ask
- How much does GitHub Actions cost per minute?
- As of 12 October 2026: $0.006 on Linux 2-core, $0.010 on Windows 2-core and $0.062 on macOS, after a private repository's free minutes. Larger runners cost $0.005 to $0.552 a minute.
- Is GitHub Actions free?
- Yes for public repositories on standard runners and for self-hosted runners. Private repositories get 2,000 to 50,000 free minutes a month by plan, then pay per minute.
- How many free GitHub Actions minutes do I get?
- 2,000 a month on GitHub Free, 3,000 on Pro and Team, 50,000 on Enterprise Cloud, for standard runners in private repositories. They reset each billing cycle.
- Does GitHub Actions still use minute multipliers?
- Not in the docs. Until 16 December 2025 Windows minutes counted twice and macOS ten times; the billing page now lists a dollar rate per runner instead.
- Do self-hosted runners cost money?
- Not as of 12 October 2026. GitHub announced $0.002 a minute from March 2026, then postponed it, and the billing docs say self-hosted runners are free.
- Are larger runners free for public repositories?
- No. Larger runners are billed in every repository and never use the plan's included minutes.
Sources
- GitHub Docs — Actions runner pricing, read 12 October 2026
- GitHub Docs — GitHub Actions billing (free use, storage, examples), read 12 October 2026
- GitHub Docs — Product usage included with each plan, read 12 October 2026
- GitHub Docs — GitHub-hosted runners reference (labels and machine sizes), read 12 October 2026
- GitHub Changelog — Update to GitHub Actions pricing (16 December 2025, with the postponement), read 12 October 2026
- GitHub — Pricing calculator, read 12 October 2026
- github/docs — the billing page with minute multipliers, as of 12 December 2025
- github/docs — the commit that replaced multipliers with per-minute costs, 16 December 2025
- Caprock source — the runner rate table (pricing/actions.json)
- Caprock source — pricing a CI job (internal/github/runnercost.go)
- Caprock source — reading Actions billing usage (internal/github/usage.go)
Try it
The record of every coding agent you run, the sessions it did not start included. Free, open source; nothing leaves your machine.
Notarized by Apple. One file for Apple silicon and Intel, macOS 13 or later.
Or run it yourself:
Paste in Terminal: it installs Caprock and opens it.Or with Homebrew: brew install --cask dspv/tap/caprock-app