{
  "slug": "terraform-variable-and-output-deprecation-warnings-a2482b76ad24",
  "title": "Terraform variable and output deprecation warnings",
  "tools": [
    "terraform"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-04-29T14:05:34.000Z",
  "announced_at": "2026-04-29T14:05:34.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When a variable or child-module output is deprecated, add a `deprecated` string explaining why; Terraform displays the reason when a value is passed to the variable or a consumer uses the output. [Variable reference](https://developer.hashicorp.com/terraform/language/block/variable) [Output reference](https://developer.hashicorp.com/terraform/language/block/output)",
    "examples": [
      "variable \"<name>\" {\n  type       = <type>\n  deprecated = \"<reason>\"\n}",
      "output \"<name>\" {\n  value      = <expression>\n  deprecated = \"<reason>\"\n}"
    ],
    "gotchas": [
      "Version: 1.15.0",
      "variable.deprecated: String explaining why the variable is deprecated; Terraform displays the reason when it is set in a root module or a child-module caller passes it a value.",
      "output.deprecated: String explaining why the output is deprecated. Valid only in child modules; consumers see the reason when they use the output.",
      "output.value (required): Expression whose result Terraform returns for the output.",
      "variable.type: Type constraint for the variable value.",
      "Prerequisite: Deprecated variables and outputs require Terraform v1.15 or later.",
      "Prerequisite: The output `deprecated` argument is valid only on outputs in child modules.",
      "Docs conflict: The release note says warnings occur when a deprecated output is referenced. The current output reference specifies that only module consumers see the deprecation reason, and limits the argument to child-module outputs. The current docs are for v1.16.x; no v1.15-specific output reference was found to verify whether behavior differs."
    ]
  },
  "why_it_matters": "Mark a variable or output as deprecated in a Terraform configuration.",
  "sources": [
    "https://github.com/hashicorp/terraform/releases/tag/v1.15.0",
    "https://developer.hashicorp.com/terraform/language/block/variable",
    "https://developer.hashicorp.com/terraform/language/block/output"
  ],
  "rank": 0.96033,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave1b-20261016",
    "verdict_id": "wave1b-20261016:wave1b-20261016-d17819c10e9fea85-1:gate",
    "evidence_hash": "16bec6ef2c7e0d436c7f5efd8b0757c97f98898e49a1f97c8a61276d3aa64597"
  },
  "review": {
    "draft_hash": "e80b3b9324387913d9dff40d12aac6a6d02f6b62dee8672b805bf6005a9f5169",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave1b-20261016:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.96 >= 0.9; 2 needed) and Jev gave 0.63 (>= 0.6 needed)."
  }
}
