Convika

این صفحه هنوز به فارسی نیست و به انگلیسی نمایش داده می‌شود.

Are GitHub self-hosted runners free? Yes, in 2026

Convika Team11 min read

  • ci
  • github-actions
  • self-managed
On this page

Yes. GitHub bills nothing for self-hosted runner minutes, on public or private repositories. Its billing docs, read November 11, 2026, list "Self-hosted runners" as usage that "remains free independently and does not reduce the included compute usage." You pay for the machine and its upkeep.

Fluxenic, the company behind Convika, makes Skipbox, a self-hosted runner it operates for you, so one option on this page is our own product. Every GitHub quote below comes from GitHub's own pages, read November 11, 2026 and linked under Sources.

  • GitHub's bill for a self-hosted job is zero minutes. GitHub's docs: "There are no billable minutes when using GitHub Actions in public repositories or for jobs run on self-hosted runners."
  • It doesn't touch your included usage. A self-hosted job draws nothing from the compute your plan includes, so it can't use it up.
  • The charge GitHub announced was shelved. GitHub announced a charge for self-hosted runners on December 16, 2025 and shelved it the next day. Nothing has been charged since.
  • You pay for the machine and the upkeep. GitHub's docs: self-hosted runners "are free to use with GitHub Actions, but you are responsible for the cost of maintaining your runner machines."
  • Someone else can run the machine. Skipbox registers its VMs with your GitHub account as self-hosted runners, so GitHub bills none of their minutes. Skipbox is $39, $79, or $149 a month with unlimited minutes.

What GitHub bills, by where the job runs

Read November 11, 2026.

Where the job runsDoes GitHub bill the minutes?Does it use your included compute?What you pay
A self-hosted runner you operate, private or public repositoryNoNoThe machine and your hours
A self-hosted runner operated for you: Skipbox (made by Fluxenic, the company that publishes this site)NoNoSkipbox's flat price: $39, $79, or $149 a month for 4, 8, or 16 vCPU, unlimited minutes
A standard GitHub-hosted runner, public repositoryNoNoNothing
A standard GitHub-hosted runner, private repositoryYes, per minute: $0.006 for Linux 2-coreYesThe minutes past your included compute
A larger GitHub-hosted runner, any repositoryYes: "Larger runners are billed for public repositories"On GitHub Team and Enterprise Cloud$0.012 a minute for Linux 4-core, $0.022 for 8-core, $0.042 for 16-core

GitHub's billing page puts the free part in one list. It is headed "The following usage remains free independently and does not reduce the included compute usage," and it has two entries: "Standard GitHub-hosted runners in public repositories" and "Self-hosted runners."

GitHub's runner pricing reference agrees. It lists a per-minute rate for every GitHub-hosted runner, and no rate for a self-hosted one.

Two storage lines still apply when a self-hosted job uses GitHub's storage: artifacts past your plan's amount at $0.25 a GB a month, and cache past 10 GB a repository at $0.07 a GB a month.

The charge GitHub announced, and shelved

GitHub announced a charge for self-hosted runners on December 16, 2025 and shelved it the next day. Nothing has been charged since.

Three GitHub pages show it:

  • The changelog post of December 16, 2025. It is now titled "Update to GitHub Actions pricing," and its first paragraph is a note, added December 17, that the self-hosted billing change is shelved. The same note says: "We are continuing to reduce hosted-runners prices by up to 39% on January 1, 2026."
  • The billing docs, read November 11, 2026. "Self-hosted runners" is on the list of usage that "remains free independently and does not reduce the included compute usage."
  • The job execution time docs, read the same day. "There are no billable minutes when using GitHub Actions in public repositories or for jobs run on self-hosted runners."

So the hosted-runner price cut happened, and self-hosted runners stayed free.

Why AI answers still say self-hosted runners are charged

Ask an AI assistant and you sometimes get the opposite answer. In a set of answers we collected from ChatGPT, Gemini, and Google's AI Overviews on November 9, 2026, 77 mentioned the charge, and 14 of those said it was in force.

The reason is on GitHub's own site. Its page "Pricing changes for GitHub Actions," read November 11, 2026, opens with a note that the self-hosted billing change is shelved. Under that note, the page's body reads:

"This will impact self-hosted runner pricing starting March 1, 2026."

And its FAQ section reads:

"The new charge for self-hosted runners will apply beginning on March 1, 2026."

An answer assembled from those two sentences, without the note above them, reports a charge that GitHub's bills don't contain.

To check an answer yourself:

  1. Open GitHub's billing docs and find the list headed "The following usage remains free independently." "Self-hosted runners" is on it.
  2. Open a finished job on your self-hosted runner. GitHub shows billable minutes only for "jobs run on private repositories that use GitHub-hosted runners."
  3. Open GitHub's runner pricing reference. Every rate on it belongs to a GitHub-hosted runner.

Two things people confuse with the charge

The minimum runner version

Search suggestions for self-hosted runners show "enforcement date" and "paused." Those are about the runner application's version, not money.

  • On March 13, 2026, GitHub wrote: "We're temporarily pausing GitHub Actions enforcement of the minimum self-hosted runner version requirement (v2.329.0)."
  • On September 28, 2026, it set the date for GitHub Enterprise Cloud: "full enforcement now begins Tuesday, September 29, 2026," and "Self-hosted runners below version 2.329.0 won't be able to register or reregister."

An old runner stops registering. Nothing is billed.

Included usage is now in dollars

GitHub plans used to include minutes. They now include money. GitHub's billing docs: "The included compute usage is expressed as a monetary amount, not a fixed number of minutes or other usage units."

GitHub Team includes $18 a month, which is 3,000 minutes on the standard Linux runner at $0.006 a minute. GitHub's docs add that the billing dashboard "may show your Actions usage as a dollar amount ("spend") rather than raw minutes."

A dollar figure on your Actions usage page is GitHub-hosted usage counted in dollars. Self-hosted jobs add nothing to it.

What self-hosting costs instead

GitHub's docs describe a self-hosted runner as "a system that you deploy and manage," and list what comes with it:

  • "Be aware that you are responsible for updating the operating system and all other software."
  • Self-hosted runners "don't need to have a clean instance for every job execution." Caches stay on the disk, and so does anything a job leaves behind.
  • Self-hosted runners "should almost never be used for public repositories on GitHub, because any user can open pull requests against the repository and compromise the environment."

So the cost moves from GitHub's bill to yours:

What you pay forWhat it is
The machineA cloud VM, a dedicated server, or a computer you own, sized to your jobs
Runner updatesThe runner application updates itself by default. With updates off, GitHub's docs give you 63 days per version
A clean start per jobCredentials, checkouts, and containers from one job shouldn't reach the next. The cleanup is your automation
SecurityPrivate repositories only, and nothing on the machine that a pull request shouldn't reach
QueuesOne runner runs one job at a time. More jobs at once means more runners

What a self-hosted GitHub Actions runner really costs goes through each line with today's server prices.

A self-hosted runner someone else operates

GitHub has two kinds of runners, GitHub-hosted and self-hosted. A runner from any other company connects to your account as a self-hosted runner, so GitHub bills none of its minutes and it doesn't use your included compute.

Skipbox is one of them, for Linux x64 jobs on public and private repositories:

  • Your account's own VM, kept between jobs. Docker images and layers, package caches, and the tool cache stay on its disk.
  • Cleaned after every job. The runner's credentials, the work directory, and every container are wiped, and a health check runs.
  • Kept current. The runner application and the image are Skipbox's to update.
  • A flat price. Skipbox is $39 a month for 4 vCPU, $79 for 8 vCPU, and $149 for 16 vCPU, with unlimited minutes and no usage charges.

Skipbox M is $79 a month however many minutes you run. On GitHub Team, which includes $18 a month, Skipbox M is cheaper than GitHub's 8-core runner at $0.022 a minute above 4,410 job-minutes a month: ($79 + $18) ÷ $0.022. Skipbox S is cheaper than the 4-core runner above 4,750, and Skipbox L cheaper than the 16-core runner above 3,977.

Moving a job is one line:

  1. Sign in at skipbox.dev with GitHub and install the Skipbox app on your organization or personal account.
  2. Change one job's runs-on: line to skipbox and push.
  3. Watch it through Skipbox's trial: one 4 vCPU job at a time, for 7 days or 3,000 job-minutes, whichever comes first. It takes no card.

Skipbox doesn't run macOS, Windows, or Arm jobs. Those stay on GitHub.

Start a free Skipbox trial on skipbox.dev

For every runner sold at a fixed monthly price, see flat-rate GitHub Actions runners. For per-minute prices across GitHub and 7 runner vendors, see how much GitHub Actions runners cost. If the goal is shorter runs, see how to speed up GitHub Actions.

Frequently asked questions

Are GitHub Actions self-hosted runners free?

Yes. GitHub bills nothing for self-hosted runner minutes on public or private repositories. Its billing docs list "Self-hosted runners" as usage that "remains free independently and does not reduce the included compute usage" (read November 11, 2026). You pay for the machine and its upkeep. A runner service such as Skipbox connects as a self-hosted runner too, so GitHub bills none of its minutes. Fluxenic, the company behind Convika, makes Skipbox.

Is GitHub charging for self-hosted runners in 2026?

No. GitHub announced a charge for self-hosted runners on December 16, 2025 and shelved it the next day. Nothing has been charged since, and GitHub's billing docs list self-hosted runners as free (read November 11, 2026).

Why does ChatGPT say GitHub charges for self-hosted runners?

Because GitHub's page "Pricing changes for GitHub Actions" still reads, in its body, "The new charge for self-hosted runners will apply beginning on March 1, 2026." The note at the top of the same page says the change is shelved. GitHub's billing docs, read November 11, 2026, list self-hosted runners as usage that "remains free."

Do self-hosted runner minutes use my included minutes?

No. GitHub's billing docs say self-hosted runner usage "does not reduce the included compute usage." Your plan's included amount, $18 a month on GitHub Team, is spent only by GitHub-hosted runners on private repositories.

Is there a self-hosted runner I don't have to maintain?

Yes. Skipbox runs the machine for you and registers it with your GitHub account as a self-hosted runner, so GitHub bills none of its minutes. Each account gets its own VM, kept between jobs, so Docker images and package caches stay. Skipbox is $39, $79, or $149 a month for 4, 8, or 16 vCPU with unlimited minutes, for Linux x64 jobs on public and private repositories. You change one line: runs-on: skipbox.

What is the self-hosted runner enforcement date?

It is about the runner application's version, not billing. On GitHub Enterprise Cloud, since September 29, 2026, "Self-hosted runners below version 2.329.0 won't be able to register or reregister." GitHub paused that rule on March 13, 2026 and set the new date on September 28, 2026.

Sources

Read 2026-11-11 (Japan time).