Skip to content
Latchkey

CircleCI "Config does not conform to schema" error

CircleCI parsed your YAML but it failed schema validation: a key is misspelled, placed at the wrong level, or has the wrong type. The message lists the path to each offending field.

What this error means

Validation fails with "Config does not conform to schema" and one or more lines like "Job X: ... extraneous key [Y] is not permitted" or "expected type: String, found: ...".

CircleCI
Error: config compilation contained errors:
 * Config does not conform to schema:
   - In job 'build': extraneous key [stes] is not permitted
   - In job 'build': missing required key [steps]

Common causes

A misspelled or misplaced key

A typo like stes instead of steps, or a top-level key nested under the wrong parent, fails the schema check.

The wrong value type for a field

A field that expects a string was given a list or map (or vice versa), so the type does not match the schema.

How to fix it

Fix the keys the schema names

  1. Read each "extraneous key" / "missing required key" path in the error.
  2. Correct the spelling or move the key to the right level.
  3. Re-run circleci config validate until it passes.
.circleci/config.yml
jobs:
  build:
    docker:
      - image: cimg/node:20.11
    steps:
      - checkout
      - run: npm test

Process the full 2.1 config

Expand orbs and reusable config so schema errors in the compiled output are visible.

Terminal
circleci config process .circleci/config.yml

How to prevent it

  • Validate config on every push, not just at merge.
  • Keep version: 2.1 and use editor schema hints for config.yml.
  • Review the compiled output of config process for reusable config.

Related guides

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