---
description: >-
  The tofu destroy command destroys all objects managed by a OpenTofu
  configuration.
---

# Command: destroy

The `tofu destroy` command is a convenient way to destroy all remote
objects managed by a particular OpenTofu configuration.

While you will typically not want to destroy long-lived objects in a production
environment, OpenTofu is sometimes used to manage ephemeral infrastructure
for development purposes, in which case you can use `tofu destroy` to
conveniently clean up all of those temporary objects once you are finished
with your work.

## Usage

Usage: `tofu destroy [options]`

This command is just a convenience alias for the following command:

```
tofu apply -destroy
```

For that reason, this command accepts most of the options that
[`tofu apply`](../commands/apply.mdx) accepts, although it does
not accept a plan file argument and forces the selection of the "destroy"
planning mode.

You can also create a speculative destroy plan, to see what the effect of
destroying would be, by running the following command:

```
tofu plan -destroy
```

This will run [`tofu plan`](plan.mdx) in _destroy_ mode, showing
you the proposed destroy changes without executing them.
