<commit_before>---
layout: "docs"
page_title: "Command: plan"
sidebar_current: "docs-commands-plan"
description: |-
  The terraform plan command creates an execution plan.
---

# Command: plan

The `terraform plan` command creates an execution plan, which lets you preview
the changes that Terraform plans to make to your infrastructure. By default,
when Terraform creates a plan it:

* Reads the current state of any already-existing remote objects to make sure
  that the Terraform state is up-to-date.
* Compares the current configuration to the prior state and noting any
  differences.<commit_msg>Update page metadata for plan command<commit_after>---
layout: "docs"
page_title: "Command: plan"
sidebar_current: "docs-commands-plan"
description: "`plan` creates an execution plan that allows you to preview the changes that Terraform will make to your infrastructure."
---

# Command: plan

The `terraform plan` command creates an execution plan, which lets you preview
the changes that Terraform plans to make to your infrastructure. By default,
when Terraform creates a plan it:

* Reads the current state of any already-existing remote objects to make sure
  that the Terraform state is up-to-date.
* Compares the current configuration to the prior state and noting any
  differences.
{'fraction_non_alphanumeric': 0.06346749226006192, 'fraction_numerical': 0.0, 'mean_word_length': 4.646288209606987, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6330499', 'n_tokens_mistral': 332, 'n_tokens_neox': 335, 'n_words': 173}