Skip to content
Latchkey

Azure Pipelines Typed Parameter Validation Failed

A template parameter declares a type (and optionally an allowed values: list). Passing a value of the wrong type, or one not in the allowed list, fails compile-time validation before the template expands.

What this error means

The pipeline fails to compile with <value> is not a valid value for <param> or a type error, pointing at the parameters: you passed. Distinct from an unknown-parameter error - the name is right but the value is rejected.

Azure DevOps
/azure-pipelines.yml: 'release' is not a valid value for 'buildConfiguration'.
Valid values are: Debug, Release

Common causes

Value outside the allowed values list

A parameter declared with values: accepts only those exact strings (case-sensitive). release fails when the list is Debug, Release.

Wrong type for the declared parameter

Passing a string to a boolean/number, or a flat list to an object/stepList, fails type validation. Typed parameters enforce shape, not just presence.

How to fix it

Pass a value matching the declared type and list

Match casing and type exactly against the template’s declaration.

azure-pipelines.yml
# template: parameters: [ {name: buildConfiguration, type: string, values: [Debug, Release]} ]
steps:
  - template: templates/build.yml
    parameters:
      buildConfiguration: Release   # exact, case-sensitive

Declare precise types in the template

  1. Use type: boolean/number/object/stepList to enforce the right shape.
  2. Add a values: list to constrain string parameters to a known set.
  3. Validate callers after tightening a parameter’s type or values.

How to prevent it

  • Constrain string parameters with an explicit values: list.
  • Use typed parameters (boolean, object, stepList) instead of raw strings.
  • Keep allowed-value casing consistent and documented.

Frequently asked questions

What causes ""is not a valid value""?
A parameter declared with values: accepts only those exact strings (case-sensitive). release fails when the list is Debug, Release.
How do I fix "is not a valid value"?
Match casing and type exactly against the template’s declaration.

Related guides

References

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