CircleCI machine image or resource class not valid

A CircleCI job failed to start because the specified machine image or resource class is no longer valid, was removed, or was never available for the organization.

circleci-resource-class-invalid high confidence ci

Matched signals

  • not a valid resource class
  • resource class.*is not a valid
  • machine image.*is not a valid
  • image.*not a valid resource class
  • Job was rejected
  • job failed to schedule
  • unsupported machine image
  • image was renamed

CircleCI machine image or resource class not valid

What this failure means

A CircleCI job failed to start because the specified machine image or resource class is no longer valid, was removed, or was never available for the organization.

Symptoms

Faultline looks for one or more of these log fragments:

not a valid resource class
resource class.*is not a valid
machine image.*is not a valid
image.*not a valid resource class
Job was rejected
job failed to schedule
unsupported machine image
image was renamed

Diagnosis

CircleCI rejected the job at scheduling time because:

  • The machine image (e.g., ubuntu-2404:2026.02.2) was an internal or preview image that was removed from the index.
  • The resource class is not available for the specified executor or org plan.
  • The image name was renamed or deprecated between releases.

Fix steps

  1. Check the current list of available machine images on CircleCI Developer - Machine Images.

  2. Update the machine image to a stable, released version:

    machine:
      image: ubuntu-2404:2026.02.20
    
  3. For resource class errors, verify the class is available for your plan:

    resource_class: medium
    
  4. If using a preview or internal image, migrate to the stable alias:

    • ubuntu-2404:2026.02.2ubuntu-2404:2026.02.20
    • Or use docker-docker29 alias instead of direct image name.
  5. Contact CircleCI support if the error persists for stable images.

Validation

  • The pipeline triggers and the job is scheduled on the expected executor.
  • The job reaches the first step successfully.
  • No “not a valid resource class” or “image is not valid” error in the job setup.

Why it matters

A machine image or resource class error fails the job before any of your code runs — the failure is in CircleCI’s scheduling layer, not in your job steps. These errors often occur after CircleCI releases new images and removes old preview images.

Prevention

  • Pin machine images to stable released versions, not preview or internal names.
  • Use the docker-docker29 alias for the latest Docker image instead of direct naming.
  • Monitor CircleCI releaseannouncements for image deprecations.
  • Run circleci doctor to verify your config is valid before pushing.

Try it locally

circleci config validate .circleci/config.yml
circleci config validate .circleci/config.yml
circleci doctor

How Faultline detects it

Use faultline explain circleci-resource-class-invalid to see the full playbook.

faultline analyze build.log
faultline explain circleci-resource-class-invalid

Generated from playbooks/bundled/log/ci/circleci-resource-class-invalid.yaml. Do not edit directly.

Try it on your own failed log

$ faultline analyze failed.log
Want this across every CI run? Faultline Teams tracks recurring failures across all your repos and surfaces patterns in a shared dashboard.