Short answer: A GitHub budget can stop Actions spending, but only if "Stop usage when budget limit is reached" is selected; otherwise it only notifies you. And in its first billing cycle, a new budget counts only usage from the day you create it. GitHub says you "may exceed your budget in the first billing cycle after you create your budget, even if you select the option stop usage when the limit is reached."
Scope: GitHub Actions billing and budgets on GitHub.com, as described in GitHub Docs. Checked October 4, 2026 (03:38 KST); links at the end. We have not opened your billing page or run any workflow for this article, and nothing here describes your account.
Who pays, and which meter applies
| Question | What GitHub documents | Why it matters |
|---|---|---|
| Whose account is charged? | "Minutes usage is charged to the repository owner, not the person who triggered the workflow runs." | Spending lands on the owner account (personal or organization), not the contributor. Check every budget that applies to it, including any enterprise budget above an organization. |
| Public repository, standard GitHub-hosted runner | Usage is free "for public repositories that use standard GitHub-hosted runners." | Applies to standard runners only. |
| Private repository | Each account receives a quota "depending on the account’s plan. Any usage beyond the included amounts is billed to your account." | The included amount depends on the owner’s plan; check it on the owner’s billing page. |
| Larger runners | "Larger runners are always charged for, even when used by public repositories or when you have quota available from your plan." | "Public" is not the same as "free" here. |
| Artifacts and GitHub Packages | "Actions artifacts and GitHub Packages storage share the same pooled allowance." | One shared storage meter. |
| Actions cache | "Cache storage is not shared with artifacts or GitHub Packages." | A separate meter, with its own allowance counted per repository. |
| Custom images (larger runners) | "has its own included allowance based on your plan." | A third storage meter. |
Current storage vs. accrued storage
| State | GitHub’s definition | What deleting artifacts changes |
|---|---|---|
| Current storage | "The amount of storage you have right now" | "Current storage decreases immediately" |
| Accrued storage | "The cumulative total of storage used throughout the billing cycle (determines your bill)" | "Storage already accrued during the current billing cycle remains in your total and will appear on your bill" |
In plain terms: a smaller store today lowers what accrues from now on. It doesn’t remove what was already recorded. GitHub puts it this way: deleting artifacts "does not remove charges already recorded for the time the storage existed." This is an explanation of how billing is counted, not advice to delete anything.
An illustrative usage calculation
Storage "charges accrue every hour." Here is a fictional case that matches GitHub’s own unit example: keep 3 GB for 10 days.
3 GB × 10 days × 24 hours = 720 GB-Hours
That is a usage figure, not an invoice. GitHub converts GB-Hours to GB-Months "by dividing by the hours in the month," so the result depends on the month’s length. Your plan’s allowance also decides how much, if any, is billable. GitHub Actions measures storage in binary gigabytes: "This is also known as a gibibyte (GiB)."
When a new budget starts counting
| Period in the first billing cycle | Counted by the new budget? |
|---|---|
| Usage before you create the budget | No: "Any use made before you created the budget is not included in the calculations." |
| Usage from creation onward | Yes: the budget "applies only to metered usage from the date of its creation onwards." |
| Later billing cycles | The creation-date caveat is about the "first billing cycle after you create your budget." It is not a promise that later cycles stay under the budget. |
Three more points before you allow overages:
- Alert vs. stop. "If you do not select Stop usage when budget limit is reached, you will be notified by email if you exceed your budget, but usage will not be stopped."
- Type and scope. "Each budget has a type and a scope that define which paid use contributes to spending against the budget." Type is the product or SKU. Scope can be the whole account or a subset, such as a repository. Organization owners set budgets for their organization and personal account owners for their own account; enterprise owners and billing managers can create enterprise and cost center budgets.
- Overlapping budgets can block CI. "Usage of metered products can count toward multiple applicable budgets at the same time, and if any budget with Stop usage when budget limit is reached enabled is exhausted, additional usage is blocked." In GitHub’s own example, an exhausted Actions product budget left members "blocked from using all GitHub-hosted runners until the next billing cycle or until the "Actions" product budget is increased." GitHub recommends avoiding overlapping budgets for "a product and a SKU, or an organization and a repository."
Pre-overage worksheet
Fill this in from the owner account’s billing pages, the repository settings and your workflow files. Leave a cell UNKNOWN until you have seen it yourself. Don’t record card or payment details here.
| Field | Your entry |
|---|---|
| Repository owner (personal / organization) | UNKNOWN |
| Account that will be billed | UNKNOWN |
| Repository visibility (public / private) | UNKNOWN |
| Runner class (standard / larger / self-hosted) | UNKNOWN |
| Meter(s) in play (minutes / shared storage / cache / custom image) | UNKNOWN |
| Billing cycle start and end | UNKNOWN |
| Current storage amount | UNKNOWN |
| Accrued usage this cycle | UNKNOWN |
| Included allowance status | UNKNOWN |
| Budget type (product / SKU) and scope | UNKNOWN |
| "Stop usage when budget limit is reached" selected? | UNKNOWN |
| Budget created at (date) | UNKNOWN |
| Usage earlier in this cycle, before the budget | UNKNOWN |
| Other budgets that overlap this one (product/SKU, organization/repository, enterprise) | UNKNOWN |
FAQ
I deleted old artifacts. Does that mean no storage charge this cycle? Not necessarily. Deleting artifacts "does not reduce your accrued storage usage, which is used to calculate your storage billing for the current billing cycle."
I just created a budget with stop enabled. Is this cycle capped? Not for usage before the budget existed. GitHub says you "may exceed your budget in the first billing cycle."
Is it free because the repository is public? Only on standard GitHub-hosted runners. Larger runners are charged.
Limitations
This guide covers GitHub’s published documentation only. It doesn’t quote current prices, plan allowance amounts or what any invoice will total, and we can’t see your account. Before allowing overages, re-open the pages below and check the owner account’s billing and budget settings yourself. To estimate paid usage, GitHub points to its own pricing calculator.
Sources (checked October 4, 2026, 03:38 KST)
- GitHub Docs, "GitHub Actions billing": https://docs.github.com/en/billing/concepts/product-billing/github-actions
- GitHub Docs, "Budgets and alerts": https://docs.github.com/en/billing/concepts/budgets-and-alerts
- GitHub Docs, "Setting up budgets to control spending on metered products": https://docs.github.com/en/billing/how-tos/set-up-budgets