# Labels and sizes

> The runs-on labels Skipbox answers to, the VM size each gives, and which plans run each size.

A job picks its VM size by its `runs-on` label. Every label below runs Ubuntu 24.04 on x64.

| Label | vCPU | Memory | Available on |
|---|---|---|---|
| `skipbox`<br>`skipbox-4x8` | 4 | 8 GB | Trial, S, M, L |
| `skipbox-8x16` | 8 | 16 GB | M, L |
| `skipbox-16x32` | 16 | 32 GB | L |

`skipbox` and `skipbox-4x8` are the same size.

## Use a label

```yaml
jobs:
  build:
    runs-on: skipbox-8x16
```

A list works too. A size label beside `skipbox` sets the size:

```yaml
    runs-on: [skipbox, skipbox-16x32]
```

The runner made for the job carries the job's own labels and no others, so it only takes a job that asks for those labels.

## Which plans run a size

A job runs at a size up to your largest plan's. With only S plans, a `skipbox-8x16` job doesn't run, however many you hold; with one M plan it does. The trial runs `skipbox` jobs only. See [Plans](https://docs.skipbox.dev/plans).

## Jobs that don't run

Your account's page on skipbox.dev shows why a job didn't run:

- **More than one size in runs-on:** the job named two size labels, such as `skipbox-8x16` and `skipbox-16x32`. Keep one.
- **Needs a larger plan:** the size is larger than your largest plan's. Add a plan of that size, or change the label to `skipbox`.
- **The trial runs 4 vCPU jobs:** during the trial, use `skipbox`.

A label that isn't one of these, such as `skipbox-large`, isn't a Skipbox job: GitHub keeps it queued until a runner with that label appears.

Updated 2026-11-09 · https://docs.skipbox.dev/labels
