Inconsistent conditional result types Terraform Origin: Platform & cloud OSI layer 7 · Application Last updated 5 Nov 2026

Terraform: Error: Inconsistent conditional result types — The true and false result expressions must have consistent types

A cond ? a : b expression returns values of different types/shapes.

Exact message you may see Error: Inconsistent conditional result typesThe true and false result expressions must have consistent typesThe 'true' value includes object attribute "x", which is absent in the 'false' valueError: Inconsistent conditional result types The true and false result expressions must have consistent types. The given expressions are tuple and objectInconsistent conditional result types
Seen on: Terraform

Meaning

Make both branches the same type: convert with tolist(), tomap(), merge, or use null/empty equivalents ([], {}). With objects ensure both have the same attributes. In recent versions many cases unify automatically, but objects with different attributes don't.

Common causes

  • One branch [], another object
  • Objects with different attributes
  • list vs set vs tuple
  • string vs number
  • null vs complex values

⚡ Quick fix

  1. Normalise types: var.x != null ? var.x : {} with matching shapes
  2. Use tolist/toset/tomap
  3. Use try()/merge() for objects

Detailed fix by platform

Terraform

  1. local.cfg = var.enabled ? { name = "x", size = 1 } : { name = "", size = 0 }

How to diagnose

  1. Branches — Types?
  2. Shape — Attributes?
  3. Convert — to*()?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Platform & cloud. Errors that are often confused with or caused by this one (click to open):

Error building ARM Config: obtain subscription from Azure CLI — Terraform: Error: building AzureRM Client: obtaining subscription ID / Please run 'az login' to setup account (Terraform)Error building ARM Co…Invalid AWS Region — Terraform: Error: Invalid AWS Region: us-east-3 / Error: configuring Terraform AWS Provider: validating provider credentials: operation error STS: GetCallerIdentity (Terraform)Invalid AWS RegionInvalid character / Argument or block definition required — Terraform: Error: Invalid character — This character is not used within the language / Error: Argument or block definition required (Terraform)Invalid character / A…Invalid function argument — Terraform: Error: Invalid function argument — Invalid value for "list" parameter: list of string required / Call to function "lookup" failed (Terraform)Invalid function argu…Invalid index: The given key does not identify an element — Terraform: Error: Invalid index — The given key does not identify an element in this collection value (Terraform)Invalid index: The gi…No valid credential sources found (AWS provider) — Terraform: Error: No valid credential sources found — failed to refresh cached credentials, no EC2 IMDS role found / Error: configuring Terraform AWS Provider: no valid credential sources (Terraform)No valid credential s…UnauthorizedOperation / AccessDenied during Terraform apply — Terraform: Error: creating EC2 Instance: UnauthorizedOperation: You are not authorized to perform this operation. User: arn:aws:iam::123:user/ci is not authorized to perform: ec2:RunInstances (Terraform)UnauthorizedOperation…Unsupported attribute: This object does not have an attribute named — Terraform: Error: Unsupported attribute — This object has no argument, nested block, or exported attribute named "foo" (Terraform)Unsupported attribute…Inconsist…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.