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-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.
jobs:
- job: build
pool:
vmImage: ubuntu-latest
steps:
- script: echo helloCheck spelling and casing against the schema
- Compare the flagged key to the Azure Pipelines YAML schema (learn.microsoft.com/azure/devops/pipelines/yaml-schema).
- Match exact casing -
displayName,continueOnError,dependsOnare camelCase. - 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.