Create a directory for your Stack and add .tfcomponent.hcl files (formerly .tfstack.hcl, renamed at GA) that declare component blocks referencing Terraform modules, input variables, and provider configurations.
Add a .tfdeploy.hcl file that declares one deployment block per environment (e.g., development, production), each specifying the input variable values for that deployment instance.
Reference provider credentials differently per deployment by using variable inputs in the component file and passing environment-specific values in each deployment block.
Connect the Stack to HCP Terraform by creating a Stack resource in your organization pointing to the VCS repository; HCP Terraform supports up to 20 deployments per Stack.
Trigger a Stack plan via the HCP Terraform UI or API; review the plan for each deployment and approve to apply changes across all configured deployments.
Use the orchestrate block in the deployment file to control the order of deployment across environments if you need to deploy development before staging before production.
Known gotchas
Files with the old .tfstack.hcl extension are not recognized in the GA version of Terraform Stacks; all component files must use the .tfcomponent.hcl extension or the Stack will fail to parse.
Stacks use a distinct configuration language from standard Terraform; some HCL constructs valid in root modules (like count or for_each on providers) behave differently inside component blocks.
Each deployment in a Stack is an independent state; destroying one deployment does not affect others, but shared provider credentials or backends referenced by multiple deployments can cause dependency conflicts.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp