Skip to content
Latchkey

Azure Pipelines "Unexpected value" - Unknown YAML Property

The YAML parsed, but a key you used is not valid where you put it. Azure Pipelines validates against a strict schema, and an unknown or misplaced property is rejected as Unexpected value.

What this error means

The run fails at compile time naming the offending property, e.g. Unexpected value 'steps' at the pipeline root or Unexpected value 'pool' inside a step. The structure is wrong even though the YAML is syntactically valid.

Azure DevOps
/azure-pipelines.yml (Line: 8, Col: 3): Unexpected value 'steps'
/azure-pipelines.yml (Line: 14, Col: 7): Unexpected value 'continueOnError'

Common causes

A property at the wrong level

Putting steps: at the root without a jobs:/job: wrapper, or a job-level key inside a step, places a valid keyword where the schema does not allow it.

A misspelled keyword

condtion instead of condition, displayname instead of displayName (the schema is case-sensitive), or a property that simply does not exist on that object.

How to fix it

Move the property to the right level

Single-job pipelines can use steps: at the root, but mixing root steps: with jobs: is invalid. Pick one shape.

azure-pipelines.yml
jobs:
  - job: build
    pool:
      vmImage: ubuntu-latest
    steps:
      - script: echo hello

Check spelling and casing against the schema

  1. Compare the flagged key to the Azure Pipelines YAML schema (learn.microsoft.com/azure/devops/pipelines/yaml-schema).
  2. Match exact casing - displayName, continueOnError, dependsOn are camelCase.
  3. Use the editor’s IntelliSense or Validate to surface the first invalid key.

How to prevent it

  • Enable the Azure Pipelines YAML schema in your editor for autocomplete.
  • Validate in the pipeline editor before committing.
  • Keep single-job and multi-job shapes consistent across your repo.

Frequently asked questions

What causes ""Unexpected value""?
Putting steps: at the root without a jobs:/job: wrapper, or a job-level key inside a step, places a valid keyword where the schema does not allow it.
How do I fix "Unexpected value"?
Single-job pipelines can use steps: at the root, but mixing root steps: with jobs: is invalid. Pick one shape.

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card