---
page_title: 'Command: refresh'
description: |-
  The `terraform refresh` command reads the current settings from all managed
  remote objects and updates the Terraform state to match.
---

# Command: refresh

> **Hands-on:** Try the [Use Refresh-Only Mode to Sync Terraform State](https://learn.hashicorp.com/tutorials/terraform/refresh) tutorial on HashiCorp Learn.

The `terraform refresh` command reads the current settings from all managed
remote objects and updates the Terraform state to match.

~> _Warning:_ This command is deprecated, because its default behavior is
unsafe if you have misconfigured credentials for any of your providers.
See below for more information and recommended alternatives.

This won't modify your real remote objects, but it will modify the
[Terraform state](/language/state).

You shouldn't typically need to use this command, because Terraform
automatically performs the same refreshing actions as a part of creating
a plan in both the
[`terraform plan`](/cli/commands/plan)
and
[`terraform apply`](/cli/commands/apply)
commands. This command is here primarily for backward compatibility, but
we don't recommend using it because it provides no opportunity to review
the effects of the operation before updating the state.

## Usage

Usage: `terraform refresh [options]`

This command is effectively an alias for the following command:

```
terraform apply -refresh-only -auto-approve
```

Consequently, it supports all of the same options as
[`terraform apply`](/cli/commands/apply) except that it does not accept a saved
plan file, it doesn't allow selecting a planning mode other than "refresh only",
and `-auto-approve` is always enabled.

Automatically applying the effect of a refresh is risky. If you have
misconfigured credentials for one or more providers, Terraform may
be misled into thinking that all of the managed objects have been deleted,
causing it to remove all of the tracked objects without any confirmation prompt.

Instead, we recommend using the following command in order to get the same
effect but with the opportunity to review the changes that Terraform has
detected before committing them to the state:

```
terraform apply -refresh-only
```

This alternative command will present an interactive prompt for you to confirm
the detected changes.

The `-refresh-only` option for `terraform plan` and `terraform apply` was
introduced in Terraform v0.15.4. For prior versions you must use
`terraform refresh` directly if you need this behavior, while taking into
account the warnings above. Wherever possible, avoid using `terraform refresh`
explicitly and instead rely on Terraform's behavior of automatically refreshing
existing objects as part of creating a normal plan.
