---
page_title: 'Command: state push'
description: The `terraform state push` command pushes items to the Terraform state.
---

# Command: state push

The `terraform state push` command is used to manually upload a local
state file to [remote state](/terraform/language/state/remote). This command also
works with local state.

This command should rarely be used. It is meant only as a utility in case
manual intervention is necessary with the remote state.

## Usage

Usage: `terraform state push [options] PATH`

This command pushes the state specified by PATH to the currently
configured [backend](/terraform/language/settings/backends/configuration).

If PATH is "-" then the state data to push is read from stdin. This data
is loaded completely into memory and verified prior to being written to
the destination state.

-> **Note:** Terraform state files must be in UTF-8 format without a byte order mark (BOM). For PowerShell on Windows, use `Set-Content` to automatically encode files in UTF-8 format. For example, run `terraform state push | sc terraform.tfstate`.

Terraform will perform a number of safety checks to prevent you from
making changes that appear to be unsafe:

- **Differing lineage**: If the "lineage" value in the state differs,
  Terraform will not allow you to push the state. A differing lineage
  suggests that the states are completely different and you may lose
  data.

- **Higher remote serial**: If the "serial" value in the destination state
  is higher than the state being pushed, Terraform will prevent the push.
  A higher serial suggests that data is in the destination state that isn't
  accounted for in the local state being pushed.

Both of these safety checks can be disabled with the `-force` flag.
**This is not recommended.** If you disable the safety checks and are
pushing state, the destination state will be overwritten.

For configurations using the [Terraform Cloud CLI integration](/terraform/cli/cloud) or the [`remote` backend](/terraform/language/settings/backends/remote)
only, `terraform state push`
also accepts the option
[`-ignore-remote-version`](/terraform/cli/cloud/command-line-arguments#ignore-remote-version).
