# Terraform 1 15

> Apply Terraform 1.15 language, CLI, state, testing, migration, and behaviour changes. Load for Terraform work targeting 1.15 or later when the model's knowledge may predate the 2026-04-29 release.

- Skill: `cedws/terraform-1-15` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add cedws/terraform-1-15`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cedws/terraform-1-15/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: cedws (https://skillmd.com/u/cedws)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cedws/terraform-1-15

---


# Terraform 1.15

This overview applies when the project's target Terraform version is at least 1.15.

## Modules and types

- Module `source` and `version` arguments can refer to variables and local values. Commands that resolve modules therefore accept variable inputs.
- Output blocks can declare an explicit type constraint, allowing an output's public contract to be checked and converted at the module boundary.
- `convert(value, type)` performs an explicit inline type conversion using a type expression.

## Deprecation

- Variable and output blocks can set `deprecated` to emit warnings when callers assign the variable or consumers reference the output.
- Provider-supplied deprecation messages for resources, blocks, and attributes appear in Terraform's warning diagnostics.

## CLI, testing, and platforms

- `terraform validate` validates backend type and configuration. Workflows that supply partial backend settings with `-backend-config` must account for the validation behaviour of the installed patch release.
- Terraform test mock blocks can define functions.
- Saved plans are workspace-bound; applying a plan created for another workspace raises an error.
- Windows ARM64 is an official build target.
- The S3 backend supports authentication through `aws login`.

## Experimental alpha features

- Alpha builds can allow deferred actions with `terraform plan -allow-deferral`, including unknown `count` and `for_each` values. This remains unavailable in stable Terraform 1.15.
- Alpha builds include persistent failed-test state, `terraform test cleanup`, test backends, and `skip_cleanup`. Do not rely on these features in stable configurations.

