Guide · GitHub documentation read November 1, 2026

GitHub Actions usage limits, 2026

The limits GitHub documents for jobs, workflows, concurrency, cache and the API, in one place.

In short

On standard GitHub-hosted runners a job can run for 6 hours, a workflow run for 35 days, a matrix can create 256 jobs, and you can run 20 jobs at once on the Free plan, 40 on Pro, 60 on Team and 500 on Enterprise (5, 5, 5 and 50 of them macOS). Dependency cache is 10 GB per repository. Self-hosted jobs can run for 5 days and wait up to 24 hours for a runner. All figures are GitHub’s own, read on November 1, 2026; GitHub Support can raise some of them.

Concurrent jobs, by plan

Concurrent jobs on standard GitHub-hosted runners, by plan
PlanTotal concurrent jobsOf which macOS
Free205
Pro405
Team605
Enterprise50050

The macOS limit is shared with GitHub-hosted larger runners. Larger runners allow 1,000 concurrent jobs in total on Team and Enterprise, with 100 concurrent GPU jobs. GitHub Support can raise these limits. Source: GitHub Actions limits (read November 1, 2026).

Job time, workflow time and matrices

  • Job execution time: 6 hours on GitHub-hosted runners; 5 days on self-hosted runners.
  • Self-hosted job queue time: 24 hours, then the job is cancelled.
  • Workflow run time: 35 days, including execution, waiting and approval time. Runs that exceed it are cancelled. Waiting for an environment approval: up to 30 days.
  • Job matrix: 256 jobs per workflow run, on GitHub-hosted and self-hosted runners.
  • Re-runs: 50 per workflow run, full and partial re-runs together.
  • Workflow file: 500 KB; a larger file won’t start runs.

Triggers, queued runs and cache

  • Trigger events: 1,500 per 10 seconds per repository. Workflow runs queued: 500 per 10 seconds; events beyond that are blocked, not queued.
  • Dependency cache: 10 GB per repository on all plans; 200 uploads, 1,500 downloads and 400 deletes a minute.
  • Self-hosted runner registrations: 1,500 per 5 minutes per repository, organization or enterprise; up to 10,000 runners registered at once in a runner group.

REST API requests per hour

  • Unauthenticated: 60 per originating IP address.
  • Personal access token or authorized user: 5,000 (15,000 through an app owned by a GitHub Enterprise Cloud organization you belong to).
  • GitHub App installation: 5,000 baseline; Enterprise Cloud installations 15,000; other installations gain 50 per repository beyond 20 and 50 per organization user beyond 20, up to 12,500.
  • GITHUB_TOKEN inside a workflow: 1,000 per repository (15,000 for Enterprise Cloud resources).

Secondary rate limits apply in addition. Source: the same GitHub reference, read November 1, 2026.

When you hit a limit

  1. Too many jobs waiting: cancel runs you no longer need. GitHub documents a concurrency group with cancel-in-progress: true that cancels a running job or workflow in the same group when a new one starts.
  2. Job over 6 hours: split it into jobs, or move it to a self-hosted runner, which allows 5 days.
  3. Concurrency ceiling: GitHub says GitHub Support can raise these limits.
  4. Billing limits are separate: see “Actions budget is preventing further use” and free minutes and quota.

Vitko Runners (private beta) has its own limits, listed on its limits page: Ubuntu 24.04 on x64, up to 2 vCPU and 8 GB, private repositories only. Jobs at once are set by you up to what your plan allows; extra jobs wait in GitHub’s queue.

How many jobs can run at once on GitHub-hosted runners?

For standard GitHub-hosted runners, GitHub lists 20 concurrent jobs on the Free plan, 40 on Pro, 60 on Team and 500 on Enterprise, of which 5, 5, 5 and 50 can be macOS jobs (GitHub’s Actions limits reference, read November 1, 2026). GitHub Support can raise these limits.

How long can a GitHub Actions job run?

Six hours per job on GitHub-hosted runners and five days per job on self-hosted runners. A whole workflow run is limited to 35 days, including waiting and approval time. A self-hosted job that waits for a runner for 24 hours is cancelled.

What is the GitHub Actions cache size limit?

10 GB of dependency cache per repository on all plans, with 200 uploads, 1,500 downloads and 400 deletes allowed per minute per repository.

Do these limits apply to third-party runners?

The figures here are GitHub’s, for GitHub-hosted and self-hosted runners. Limits that belong to the workflow itself, such as the 256-job matrix, the 35-day run and the 50 re-runs, are set by GitHub. A managed runner service can set its own limits on jobs at once and machine size; check its documentation. Vitko Runners’ own limits are on its limits page.

How do I cancel superseded workflow runs?

GitHub documents a concurrency group with cancel-in-progress: true: when a new run starts in the same group, the currently running job or workflow in that group is cancelled.

About Vitko Runners

Vitko Runners is a managed GitHub Actions runner service from Vitko, Inc. It costs $0.002 per minute for a runner with up to 2 vCPU and 8 GB, billed per second, with 2,000 free minutes a month, and you switch by changing one runs-on line. It is in private beta; join the waitlist at runners.vitko.inc. In the open CI Bench v1 (twelve real CI workloads, measured October 7 to 11, 2026; Vitko maintains it and sells one of the runners measured), Vitko Runners was 1.7x as fast as GitHub-hosted 2 vCPU on median job time, 2.3x with warm starts and test splitting, at 84% lower cost per job. Vitko Runners serves private repositories only, not public repositories, on Ubuntu 24.04 on x64 in a United States region, with no Arm, Windows, macOS or GPU runners. Facts, price and limits.

Join the private betaAll runners compared