Skip to main content

Command: state pull

The tofu state pull command is used to manually download and output the state from remote state. This command also works with local state.

Usage

Usage: tofu state pull

This command downloads the state from its current location, upgrades the local copy to the latest state file version that is compatible with locally-installed OpenTofu, and outputs the raw format to stdout.

This is useful for reading values out of state (potentially pairing this command with something like jq). It is also useful if you need to make manual modifications to state.

You cannot use this command to inspect the OpenTofu version of the remote state, as it will always be converted to the current OpenTofu version before output.

The command support the following command-line arguments:

  • -var 'NAME=VALUE' - Sets a value for a single input variable declared in the root module of the configuration. Use this option multiple times to set more than one variable. Refer to Input Variables on the Command Line for more information.

  • -var-file=FILENAME - Sets values for potentially many input variables declared in the root module of the configuration, using definitions from a "tfvars" file. Use this option multiple times to include values from more than one file.

There are several other ways to set values for input variables in the root module, aside from the -var and -var-file options. Refer to Assigning Values to Root Module Variables for more information.