When do GitHub Actions minutes reset, and how do you keep CI running until then?
GitHub's included Actions usage resets at the start of each billing cycle: for metered products such as Actions, the cycle "starts at 00:00:00 UTC on the first day of each month", and the included amount "resets to the full amount", so what you didn't use doesn't roll over (GitHub Docs, read on November 9, 2026). Since GitHub rewrote its billing pages on October 28, 2026, that amount is in dollars: $12, $18 or $300 a month by plan. How many minutes are left depends on which runners your jobs use.
Skipbox publishes this guide and sells a runner. Every fact about GitHub below links to GitHub's own page, read on November 9, 2026.
The reset date and time
00:00 UTC on the 1st lands on the evening of the last day of the month in the Americas:
| Where | Next reset: December 1, 2026 | A reset from April 1 to October 1 (summer time) |
|---|---|---|
| UTC | December 1, 00:00 | 00:00 on the 1st |
| San Francisco | November 30, 4:00 PM PST | 5:00 PM PDT on the last day of the month before |
| New York | November 30, 7:00 PM EST | 8:00 PM EDT on the last day of the month before |
| London | December 1, 00:00 GMT | 1:00 AM BST on the 1st |
| Berlin, Paris | December 1, 1:00 AM CET | 2:00 AM CEST on the 1st |
| Tokyo | December 1, 9:00 AM JST | 9:00 AM JST on the 1st |
A reset is not a charge. GitHub bills last month's extra usage on your billing date, which "is typically the day you started a paid plan". Self-serve GitHub Enterprise Cloud accounts that pay by card moved to the 1st from December 1, 2025.
Does unused usage roll over?
No. "This value resets to the full amount at the start of each billing cycle": a month with half the included amount unused starts the next month at the full amount, not at one and a half.
Storage works differently. Artifacts and caches stay where they are; it's the accrued storage charges that "reset to zero at the start of each billing cycle".
What "minutes" means now
Until October 28, 2026, GitHub's billing page listed the included amounts as 2,000, 3,000 and 50,000 minutes (github/docs commit 8e7396e5e). It now says: "The included compute usage is expressed as a monetary amount, not a fixed number of minutes or other usage units." Each job's minutes are priced at its runner's rate and taken from that amount.
What the included amount buys, at GitHub's per-minute rates on private repositories:
| Plan | Included a month | ubuntu-latest (Linux 2-core, $0.006) | Windows 2-core ($0.010) | Linux 4-core larger runner ($0.012) | macOS ($0.062) |
|---|---|---|---|---|---|
| GitHub Free | $12 | 2,000 minutes | 1,200 minutes | – | about 193 minutes |
| GitHub Pro | $18 | 3,000 minutes | 1,800 minutes | – | about 290 minutes |
| GitHub Team | $18 | 3,000 minutes | 1,800 minutes | 1,500 minutes | about 290 minutes |
| GitHub Enterprise Cloud | $300 | 50,000 minutes | 30,000 minutes | 25,000 minutes | about 4,838 minutes |
Three things change the count:
- Rounding. "GitHub rounds the minutes and partial minutes each job uses up to the nearest whole minute." Ten jobs of 10 seconds use 10 minutes.
- Larger runners draw on the included amount only "when the billing account uses GitHub Team or GitHub Enterprise Cloud", and they always "require a valid payment method".
- Copilot code review "consumes GitHub Actions compute in addition to AI credits", and on private repositories it draws on the same included amount.
Standard runners in public repositories are free and don't touch the included amount. How many free minutes private repositories get lists everything that never counts.
How to see what's left
- An organization: Settings → Billing & Licensing (under Access in the sidebar). The overview shows the month's Actions use, and the Usage view filters and groups it, by SKU for example. GitHub notes that the dashboard "may show your Actions usage as a dollar amount ("spend") rather than raw minutes".
- A personal account: github.com/settings/billing.
- One run: GitHub shows "the billable job execution minutes for an individual workflow run" in the run's usage.
To hear before it runs out, open Budgets and alerts and select Receive alerts when my included usage reaches 90% and 100%. GitHub then emails you at each threshold.
To see which workflows spend it, the free cost calculator reads your usage report and prices each one by runner; how GitHub Actions billing works has the formula.
What happens when it runs out
It depends on two settings: a payment method, and a budget set to stop usage.
| Your account | When the included amount is used up |
|---|---|
| A payment method, no budget set to stop | Jobs keep running, and the extra use is billed on your billing date. |
| No payment method | "Usage is blocked once you consume the included compute usage." Jobs fail with "The job was not started because recent account payments have failed or your spending limit needs to be increased" (the fix). |
| A budget with Stop usage when budget limit is reached | Jobs run on paid use until the budget is spent, then fail with "an Actions budget is preventing further use" (the fix). |
Either block holds until the 1st at 00:00 UTC, unless someone adds a payment method or raises the budget. Refused jobs don't start again on their own; re-run them.
Keep CI running until the 1st
Spend fewer billable minutes
- Cancel runs nobody reads.
concurrencywithcancel-in-progress: truecancels a run when a newer commit arrives on the same branch. - Skip workflows a change doesn't touch.
pathsfilters onpushandpull_requestkeep a docs change from running the test suite. - End hung jobs.
timeout-minuteson a job stops it long before GitHub's 6-hour limit. - Merge tiny jobs. Every job rounds up to a whole minute, so five 10-second jobs use 5 minutes and one job doing all five uses 1.
- Use the smallest runner that works. At GitHub's rates, a macOS minute takes more than 10 times what a Linux 2-core minute takes from the included amount.
GitHub Actions too expensive? has the YAML for each of these.
Move jobs to a self-hosted runner
Self-hosted runners don't use the included amount at all: GitHub lists them as usage that "remains free independently and does not reduce the included compute usage". A job moved to one keeps running after the included amount is used up, and no budget stops it.
Skipbox runs self-hosted runners for you. Change a private repository's job to runs-on: skipbox and it runs in a fresh Linux VM in Finland or Germany (EU), on an organization or a personal account, at $39, $79 or $149 a month with unlimited minutes. Your plan sets how many jobs run at once; extra jobs wait their turn, and the bill doesn't change. The free trial runs one job at a time at 4 vCPU and 8 GB. macOS, Windows, Arm and public-repository jobs stay on GitHub. To move a job back after the 1st, change its runs-on line back.
You can try it on your own jobs first: free for 7 days or 3,000 minutes, no card.
FAQ
When do GitHub Actions minutes reset?
At the start of each billing period. For metered products such as Actions, GitHub's billing period "starts at 00:00:00 UTC on the first day of each month", and the included compute "resets to the full amount at the start of each billing cycle". The next reset is December 1, 2026 at 00:00 UTC: 9:00 AM in Tokyo, 1:00 AM in Berlin, and 7:00 PM on November 30 in New York.
Do unused GitHub Actions minutes roll over?
No. The included amount resets to the full amount each month, not to what was left plus a new month's worth. Whatever you didn't use by 23:59:59 UTC on the last day of the month is gone.
How many GitHub Actions minutes do I get a month?
GitHub now writes the included amount in dollars: $12 on GitHub Free, $18 on GitHub Pro and GitHub Team, and $300 on GitHub Enterprise Cloud. On ubuntu-latest in a private repository, at $0.006 a minute, that's 2,000, 3,000 and 50,000 minutes. On Windows or macOS runners it buys fewer.
Is the reset on my billing date?
No. The included compute resets on the 1st, 00:00 UTC. Your billing date, the day GitHub charges you for last month's extra usage, is usually the day you started a paid plan, and can be any day of the month.
Do self-hosted runners use my included minutes?
No. GitHub lists self-hosted runners as usage that "remains free independently and does not reduce the included compute usage". Jobs on a self-hosted runner keep running after the included amount is used up, and don't draw on a budget.
Sources
All read on 2026-11-09.
- GitHub Docs, Billing cycles: the metered billing period in UTC, the reset of the included compute, the billing date.
- GitHub Docs, GitHub Actions billing: included compute by plan "expressed as a monetary amount", what draws on it, what remains free, storage, blocking without a payment method, Copilot code review.
- GitHub Docs, Actions runner pricing: per-minute rates, rounding up per job.
- GitHub Docs, Budgets and alerts and Setting up budgets: the stop option, included usage alerts at 90% and 100%.
- GitHub Docs, Viewing your usage of metered products and licenses: where the usage is.
- GitHub Docs, Actions limits: the 6-hour job limit on GitHub-hosted runners.
- github/docs, commit 8e7396e5e (October 28, 2026): the included minutes rewritten as dollars.
Updated November 9, 2026