# Job time limit

> A Skipbox job can run for up to the same number of hours as on GitHub-hosted runners, counted from when its VM starts.

A job can run for up to **6 hours**, counted from when its VM starts. Time spent waiting in the queue doesn't count.

## At the limit

The VM is deleted with everything in it, and the job doesn't finish. Nothing is kept for a retry, so split a job that runs close to the limit, or cache its work with `actions/cache`.

## Set a shorter limit

GitHub's `timeout-minutes` works as on any runner and stops a job sooner:

```yaml
jobs:
  test:
    runs-on: skipbox
    timeout-minutes: 30
```

## Compared with GitHub

GitHub-hosted runners have the same 6-hour limit per job. GitHub allows self-hosted runners longer, but Skipbox's limit is the one above.

## Waiting

A job waiting for a runner is limited by GitHub, not Skipbox: GitHub cancels it after 24 hours in the queue. See [Concurrency and queueing](https://docs.skipbox.dev/concurrency).

Updated 2026-11-09 · https://docs.skipbox.dev/job-time-limit
