Gen1 and Gen2 are both CircleCI resource class families, but they are not drop-in replacements for each other. Some sizes, platforms, and features differ by executor.
This article puts the main Gen1 vs Gen2 differences in one place for Docker, Linux VM, Remote Docker, and Arm.
For full CPU, RAM, and credit rates, see the price list and the configuration reference.
At a glance
Topic | Gen1 | Gen2 |
Naming | Classic names ( | Names end in |
Docker sizes (x86) |
|
|
Remote Docker sizes (x86) | Documented mapping, including | Starts at |
Credits / minute | See price list | Gen2 Docker costs more credits per minute than Gen1. See price list for Linux VM Gen2 rates. Arm Gen2 preview pricing may change at general availability |
CircleCI Cloud | Supported | Supported |
CircleCI Server | Supported for documented Gen1 Docker and Linux VM classes | Not supported for Gen2 Docker (x86 and Arm) or Gen2 Linux VM (x86 and Arm) |
IP Ranges | See IP Ranges for executor support | Supported on x86 Docker Gen2 |
Arm Docker | Supported | Supported (beta, Cloud only) |
Arm Linux VM ( | Supported | Supported (beta, Cloud only) |
Arm Remote Docker | Supported | Not yet available |
Free plan + Docker | Resource class access depends on your plan | Gen2 Docker requires a paid plan |
Gen2 Linux VM / x86 Remote Docker availability | Gen1 Linux VM and Gen1 Remote Docker are already available (separate from Gen2) | Available for all users |
Docker executor (x86)
Resource classes
Size | Gen1 | Gen2 |
small |
|
|
medium |
|
|
medium+ |
|
|
large |
|
|
xlarge |
|
|
2xlarge |
|
|
2xlarge+ |
|
|
Availability
Spec | Gen1 | Gen2 |
Cloud | Yes | Yes |
Server | Yes | No |
Plan | Resource class access depends on your plan | Paid plans only |
What Gen2 Docker (x86) does not include
Item | Gen2 |
Free plans | Not supported |
Remote Docker with | Not supported. Smallest Remote Docker size is |
CircleCI Server | Not supported |
Linux VM executor (machine, x86)
Resource classes
Size | Gen1 | Gen2 |
medium |
|
|
large |
|
|
xlarge |
|
|
2xlarge |
|
|
2xlarge+ |
|
|
Availability
Spec | Gen1 | Gen2 |
Cloud | Yes | Yes |
Server | Yes | No |
Disk | 150GB | 150GB |
Both Linux VM tables start at medium / medium.gen2. small.gen2 is a Docker class, not a Linux VM class.
Gen2 Linux VM images
Gen2 machine resource classes on CircleCI Cloud support these Ubuntu LTS versions:
Ubuntu 22.04
Ubuntu 24.04
Ubuntu 26.04
Supported tags include current and edge. Dated tags are not supported for Gen2 resource classes. Gen2 resource classes are not available on CircleCI Server.
Remote Docker (setup_remote_docker)
Remote Docker uses a Linux or Arm machine resource class based on the Docker executor resource class you set. Gen1 and Gen2 use different size lists.
Gen1 mapping (x86)
A Remote Docker environment uses a Linux VM that corresponds to the Docker executor class, with these exceptions:
smallmaps tomediummedium+maps tolarge
Docker resource class | Remote Docker (Linux VM) |
|
|
|
|
|
|
|
|
|
|
|
|
Gen2 mapping (x86)
Docker resource class | Remote Docker (Linux VM) |
|
|
|
|
|
|
|
|
|
|
Important differences:
small.gen2is available for plain Docker Gen2, but it is not supported for Remote Docker. The smallest Gen2 Remote Docker size ismedium.gen2.medium+.gen2is available for plain Docker Gen2, but it is not listed in the Gen2 Remote Docker mapping table.Gen2 resource classes are not yet available for Arm-based Remote Docker.
Arm Remote Docker
| Gen1 | Gen2 |
Classes |
| Not yet available |
Remote Docker version pins
Remote Docker version tags are listed in the Remote Docker docs, including aliases such as default, edge, and previous, plus version tags such as docker29, docker27, and docker26. For Gen2, the changelog also documents pinning with docker28 and docker29. Check those pages for the current tag list.
Example from the Gen2 changelog:
resource_class: medium.gen2
steps:
- setup_remote_docker:
version: docker28
Arm (Gen2 beta)
Arm Gen2 resource classes are in beta for the Docker and Linux VM (Arm VM, machine) executors, and are available to all users. Gen2 Arm is not yet available for Remote Docker. Preview pricing may change at general availability. Arm Gen2 Docker and Arm Gen2 Linux VM classes are available on CircleCI Cloud only, not on CircleCI Server. See the Gen2 Arm beta changelog for details.
Arm resource classes
Size | Gen1 | Gen2 (beta) | vCPUs / RAM | Gen2 credits / min (preview) |
medium |
|
| 2 vCPU / 8 GB | 6 |
large |
|
| 4 vCPU / 16 GB | 12 |
xlarge |
|
| 8 vCPU / 32 GB | 24 |
2xlarge |
|
| 16 vCPU / 64 GB | 48 |
The Arm VM (machine) classes have a 100 GB disk for both Gen1 and Gen2. Credit rates are the same for Arm Gen2 Docker and Arm Gen2 Linux VM. They are preview pricing and may change at general availability.
Availability
Executor | Gen1 | Gen2 (beta) |
Arm Docker | Cloud only | Cloud only |
Arm Linux VM ( | Cloud and Server | Cloud only |
Arm Remote Docker | Yes | Not yet available |
Arm Gen2 images and examples
For the Arm Linux VM executor, Arm Gen2 resource classes are supported only on these images and tags:
ubuntu-2404:currentandubuntu-2404:edgeubuntu-2604:currentandubuntu-2604:edge
Arm Linux VM example:
jobs:
my-job:
machine:
image: ubuntu-2404:current
resource_class: arm.large.gen2
steps:
- run: uname -a
Arm Docker example:
jobs:
build:
docker:
- image: cimg/base:current
resource_class: arm.large.gen2
steps:
- run: uname -a
For Arm Docker, use an image that publishes a linux/arm64 variant. You can check the OS/ARCH column on the image's tags tab on Docker Hub.
Feature support matrix
Feature | Gen1 | Gen2 |
Plain Docker (x86) | Yes | Yes, paid plans |
Remote Docker (x86) | Yes, with | Yes, from |
Linux VM ( | Yes | Yes, from |
IP Ranges | See IP Ranges | Supported on x86 Docker Gen2 |
Arm Docker | Yes | Yes, beta (Cloud only) |
Arm Linux VM ( | Yes | Yes, beta (Cloud only). Requires |
Arm Remote Docker | Yes | Not yet available |
CircleCI Server | Yes for documented Gen1 Docker and Linux VM classes | Not supported for Gen2 Docker (x86 and Arm) or Gen2 Linux VM (x86 and Arm) |
Free plan Docker | Resource class access depends on your plan | Gen2 Docker not supported on Free. Paid plan required |
Performance and credits
Product | Gen2 performance | Credits |
Docker Gen2 | Nearly 1.4x faster than Gen1 | Higher credits/min than Gen1 |
Linux VM / (x86) Remote Docker Gen2 | Up to 180% faster for multi-threaded workloads | See Gen2 rows on the price list |
Arm Docker Gen2 (beta) | Up to 94% faster than Gen1, based on beta benchmarks | 6 to 48 credits/min (see Arm resource classes above). Preview pricing, may change at general availability |
Arm Linux VM Gen2 (beta) | Up to 73% faster than Gen1, based on beta benchmarks | 6 to 48 credits/min (see Arm resource classes above). Preview pricing, may change at general availability |
Same size names can mean different RAM across executors. Example: Docker medium.gen2 is 2 vCPU / 4GB. Linux VM medium.gen2 is 2 vCPU / 8 GiB. Actual Arm Gen2 gains depend on your workload and may change when Arm Gen2 becomes generally available.
