What's free here, against each vendor's top tier Sources read 2026-10-28 for Terraform, 2026-10-29 for Pulumi.
Skip to Terraform in detail or Pulumi in detail if you run one engine.
behold against the HCP Terraform, Pulumi Cloud and Spacelift consoles, across both engines.
Sources read 2026-10-28 for Terraform, 2026-10-29 for Pulumi.
terragucci and choudoufu against HCP Terraform and Spacelift.
Plans and applies on pull requestsIncluded intentius.io Free developer.hashicorp.com Free spacelift.io An approval before an applyIncluded bound to the saved plan intentius.io Free manual apply developer.hashicorp.com Starter spacelift.io Policy as codeIncluded OPA, conftest intentius.io Standard developer.hashicorp.com Starter spacelift.io Drift detectionDrift: a change made outside your code. Included fixes by pull request intentius.io Standard developer.hashicorp.com Business private workers only spacelift.io Cost estimatesIncluded your Infracost key intentius.io Standard developer.hashicorp.com Free spacelift.io Audit trailIncluded in your bucket, kept as long as you like intentius.io Standard 14 days developer.hashicorp.com Enterprise 30 days docs.spacelift.io SSOIncluded your forge's intentius.io Free developer.hashicorp.com Enterprise spacelift.io Runs on runners you controlIncluded your CI intentius.io Free developer.hashicorp.com Business spacelift.io Nothing hosted by the vendorIncluded nothing to host intentius.io Enterprise hashicorp.com Enterprise on request spacelift.io AI on failed runs and driftIncluded your model key intentius.io ✗ Nonehashicorp.com Free summaries only docs.spacelift.io Applies dependent roots in order, with an approval between wavesWave: a group of roots applied together, after the ones they depend on. Included order from remote state reads; each wave behind its gate intentius.io Premium HCP Stacks only developer.hashicorp.com ✗ Noneno gate between waves docs.spacelift.io One pull request comment for every root a change touchesRoot: a folder Terraform plans and applies as one unit. HCP Terraform calls it a workspace. Included identical changes grouped, every destroy named intentius.io ✗ Nonedeveloper.hashicorp.com ✗ Nonedocs.spacelift.io Short-lived environments, deleted after a set timeIncluded a copy per pull request, deleted when it closes or after a set time intentius.io Standard developer.hashicorp.com Business private workers only docs.spacelift.io Private module registry with testsIncluded in your bucket; tofu test before release intentius.io Essentials hashicorp.com Starter spacelift.io Signed module releasesIncluded each release signed with cosign intentius.io ✗ Nonedeveloper.hashicorp.com ✗ Nonedocs.spacelift.io Hold or deny a change on its costIncluded your Infracost key; a threshold holds the wave intentius.io Standard legacy checks only developer.hashicorp.com Starter docs.spacelift.io Approve from Slack or TeamsIncluded a relay you run in your cloud intentius.io ✗ Nonenotifications only developer.hashicorp.com Starter Slack only docs.spacelift.io Slack, Teams and webhook notificationsIncluded signed webhook, Slack or Teams intentius.io ✓ Tier not publisheddeveloper.hashicorp.com Starter spacelift.io Short-lived cloud credentials (OIDC)Included a plan role and an apply role, never the same intentius.io ✓ Tier not publisheddeveloper.hashicorp.com Starter spacelift.io Plan or apply from a pull request commentIncluded /terragucci plan, /terragucci apply before merge intentius.io ✗ Nonedeveloper.hashicorp.com Starter docs.spacelift.io Apply only the plan that was approvedIncluded if the plan changed after approval, nothing is applied intentius.io ✓ Tier not publisheddeveloper.hashicorp.com Free docs.spacelift.io Policy overrides by named peopleIncluded only people listed in policy.override; each override recorded intentius.io Standard developer.hashicorp.com ✗ Nonedenies are final docs.spacelift.io Traces and metrics to your collectorIncluded OpenTelemetry over OTLP; your collector intentius.io Free developer.hashicorp.com Starter docs.spacelift.io DORA delivery metricsIncluded per project and for the estate intentius.io ✗ Nonedeveloper.hashicorp.com ✓ Tier not publisheddocs.spacelift.io One view across every projectIncluded a page in your bucket; SQL over the reports intentius.io ✓ Tier not publisheddeveloper.hashicorp.com Starter spacelift.io Your commands before and after plan and applyIncluded a failing hook stops the wave or holds it intentius.io Free one on Free developer.hashicorp.com Starter docs.spacelift.io Roll a module version out to its usersIncluded one pull request per wave, across repos intentius.io Standard developer.hashicorp.com Starter spacelift.io Request an app from a templateIncluded from a template or add-on; a yanked version is refused intentius.io Standard no-code modules; a version can be deprecated on Standard, revoked on Premium developer.hashicorp.com Business Blueprints and Templates; no yank documented docs.spacelift.io Day-2 actions behind a second person's approvalIncluded a changed input is gated again intentius.io Standard Terraform 1.14 actions run as a run; approver not documented developer.hashicorp.com Starter Tasks; an approval policy can require two approvals spacelift.io Import from another platformIncluded HCP, OTF, Scalr, Spacelift, env zero, Atlantis intentius.io ✗ NoneCommunity Edition state only developer.hashicorp.com ✓ Tier not publisheddocs.spacelift.io An MCP server for your coding agentIncluded agents read recent applies, audit and delivery metrics, and can open pull requests intentius.io ✓ Tier not publisheddeveloper.hashicorp.com Free docs.spacelift.io A model reviews each pull requestIncluded your model key; approves nothing intentius.io ✗ Nonedeveloper.hashicorp.com ✗ Nonedocs.spacelift.io Show all 32 features The tier you'd need Included Premium and still missing 1 of the features you ticked Enterprise and still missing 2 of the features you ticked
Sources read 2026-10-28.
plywood and plunge against Pulumi Cloud, and against Spacelift where it runs Pulumi. Pulumi calls a plan a preview, and an apply an update.
Previews and updates from pull requestsIncluded GitHub, GitLab or Forgejo intentius.io Free pulumi.com Free feature preview docs.spacelift.io An approval before an updateIncluded bound to one preview digest intentius.io ✗ Nonenone built in; ESC approvals gate credentials only pulumi.com Starter spacelift.io Policy as code on every previewIncluded Rego, and your CrossGuard packs intentius.io Pro pulumi.com Starter spacelift.io Drift detectionDrift: a change made outside your code. Included one issue per stack intentius.io Pro pulumi.com Business private workers only spacelift.io A stack per pull request, deleted after a set timeStack: one deployment of a Pulumi program, such as dev or prod. Included deleted when the pull request closes or after a set time intentius.io Pro pulumi.com Business private workers only docs.spacelift.io Audit trailIncluded rows in your repository, kept as long as you like intentius.io Pro pulumi.com Enterprise 30 days docs.spacelift.io SSOIncluded your forge's intentius.io Pro pulumi.com Enterprise spacelift.io Runs on runners you controlIncluded your CI intentius.io Enterprise pulumi.com Business spacelift.io Nothing hosted by the vendorIncluded nothing to host intentius.io Enterprise pulumi.com Enterprise on request spacelift.io AI on failed updates and driftIncluded fixes drift by pull request; your model key intentius.io Pro an agent can start on a failed operation pulumi.com Free summaries only docs.spacelift.io Updates dependent stacks in order, with an approval between wavesWave: a group of stacks updated together, after the ones they depend on. Included order from StackReference reads; each wave behind its gate intentius.io ✗ Noneno gate between stacks pulumi.com ✗ Noneno gate between waves docs.spacelift.io One pull request comment for every stack a change touchesIncluded identical changes grouped, one approval for the set intentius.io ✗ Nonepulumi.com ✗ Nonedocs.spacelift.io Update from a pull request commentIncluded /plywood up before merge intentius.io ✗ Nonepulumi.com Starter docs.spacelift.io Update only the preview that was approvedIncluded if the preview changed after approval, nothing is updated intentius.io ✗ Noneno approval for a preview to match pulumi.com Free docs.spacelift.io Slack, Teams and webhook notificationsIncluded signed webhook, Slack or Teams intentius.io Essentials pulumi.com Starter spacelift.io Short-lived cloud credentials (OIDC)Included a preview identity and an up identity, never the same intentius.io Free pulumi.com Starter spacelift.io A model reviews each pull requestIncluded your model key; approves nothing intentius.io Essentials GitHub.com only pulumi.com ✗ Nonedocs.spacelift.io One view across every stackIncluded one page for all stacks, flagging overdue drift checks intentius.io Essentials pulumi.com Starter spacelift.io Approve from Slack or TeamsIncluded a relay you run; plywood notify relay records it intentius.io ✗ Nonenotifications only pulumi.com Starter Slack only docs.spacelift.io Policy overrides by named peopleIncluded only people listed in .chant/overriders; each override recorded intentius.io ✗ Nonepolicy levels only pulumi.com ✗ Nonedenies are final docs.spacelift.io Traces and metrics to your collectorIncluded OpenTelemetry over OTLP; your collector intentius.io Free CLI traces only pulumi.com Starter docs.spacelift.io DORA delivery metricsIncluded on the estate page intentius.io ✗ Noneexport and compute them yourself pulumi.com ✓ Tier not publisheddocs.spacelift.io Day-2 actions behind a second person's approvalIncluded a second person approves the one-resource preview intentius.io ✗ Noneno approval step; ESC approvals gate credentials only pulumi.com Starter Tasks; an approval policy can require two approvals spacelift.io Import from another platformIncluded Pulumi Deployments, pulumi/actions, Spacelift, env zero intentius.io ✗ Nonepulumi.com ✗ NoneHCP Terraform only docs.spacelift.io An MCP server for your coding agentIncluded read-only: stacks, runs and reports intentius.io Essentials stack tools pulumi.com Free docs.spacelift.io Show all 25 features The tier you'd need Included Enterprise and still missing 1 of the features you ticked Enterprise
Sources read 2026-10-29.
One approval over every engine's plan one approval covers the Pulumi and Terraform plans together; if any part changes, nothing applies intentius.io – ✗ no approval steppulumi.com ✗ per stackdocs.spacelift.io Sources read 2026-10-28 for Terraform, 2026-10-29 for Pulumi. HashiCorp, Terraform and HCP Terraform are trademarks of HashiCorp, an IBM Company. Spacelift and the Spacelift logo are trademarks of Spacelift, Inc. Logos are used to identify each product and are shown unaltered. Pulumi and the Pulumi logo are trademarks of Pulumi Corporation, and plywood and plunge have no tie to it.
The tools are free, and the docs for each are on its own site.
All the tools , or what I do with them .