# Terraform: "Saved plan is stale" protects you, do not regenerate blindly
## What you are seeing
```
Error: Saved plan is stale
The given plan file can no longer be applied because the configuration
has changed in the following ways: ...
```
You saved a plan with `terraform plan -out=tfplan`, something changed the config afterwards, and now `terraform apply tfplan` refuses. This is Terraform guaranteeing that what you apply is what was reviewed.
## First response
1. Find what changed: `git diff` or `git status` on the config since the plan was saved. The error message also lists the changed parts.
2. Decide whether the change was intended. If yes, re-run plan, re-review, re-approve, then apply the new file.
3. If the change was unintended (stray edit, merged PR, someone's debugging line), revert it and the original plan file becomes valid again.
## Rules for agents
1. Never work around this by running apply without the plan file. That re-plans from current config and destroys the review guarantee the saved plan existed to provide.
2. In CI, treat a stale plan as "re-run the plan job", not as a failure to override. The pipeline should make this cheap.
3. Plan files are single-use by design: one plan, one review, one apply. Do not reuse a plan file across applies.
4. If plans go stale constantly, the config is being edited concurrently with the pipeline. Fix the workflow (branch protection, merge queues), not Terraform.