Skip to content
Latchkey

GitHub Actions "The job running on runner X has exceeded the maximum execution time"

A single job ran longer than the platform hard cap of 6 hours, so GitHub forcibly stopped it; this is a ceiling, not a configurable timeout you can raise.

What this error means

A long-running job is killed with "The job running on runner X has exceeded the maximum execution time of 360 minutes." Work in progress is lost at the cutoff.

github-actions
The job running on runner GitHub Actions 7 has exceeded the maximum execution time of 360 minutes.

Common causes

Genuinely long workload in one job

A large build, test suite, or data job legitimately needs more than 6 hours when run serially in a single job.

A hung step that never finishes

A deadlocked process, infinite retry, or stuck network wait keeps the job alive with no progress until the cap fires.

How to fix it

Split and parallelize the work

  1. Break the job into multiple jobs that run in parallel.
  2. Shard tests or build targets across a matrix.
  3. Cache expensive steps so reruns are far shorter.
  4. Add per-step timeout-minutes to catch hangs early.

Find and fix the hang

If the job should finish well under 6 hours, profile the step that runs longest; a stuck process or retry loop is usually the real cause, not the workload size.

How to prevent it

  • Keep each job comfortably under the 6-hour ceiling.
  • Add timeout-minutes per step to surface hangs fast.
  • Parallelize heavy work across jobs rather than serializing it.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →