# atmos helm delete

Uninstall a Helm release (`helm uninstall`) for a component in a stack.
Deleting a release that does not exist is a no-op.

Atmos reports the effective delete wait policy when the operation starts, emits elapsed-time
heartbeats while Helm is waiting, and prints a terminal success or failure status. Bulk output
identifies the component and stack on every line.

## Usage

```shell
atmos helm delete <component> --stack <stack> [options]
atmos helm delete monitoring -s plat-ue2-dev

# Preview without removing release state or Kubernetes resources
atmos helm delete monitoring -s plat-ue2-dev --dry-run --wait=watcher --timeout=10m

# Delete components filtered by tags or labels (composes with --all/--affected)
atmos helm delete --all --tags production,tier-1
```

:::info Alias
The `destroy` alias runs the same command, so `atmos helm destroy monitoring -s plat-ue2-dev` is equivalent to `atmos helm delete monitoring -s plat-ue2-dev`. [`atmos stack destroy`](/cli/commands/stack/stack-destroy) uses this alias for Helm components.
:::

## Flags

- **`--stack`, `-s` (required)** — Atmos stack.
- **`--all` / `--affected` / `--include-dependents` (optional)** — Process multiple Helm components in reverse dependency order, deleting dependents before their dependencies.
- **`--tags` / `--labels` (optional)** — Filter by tags (comma-separated, matches any) or labels (comma-separated `key=value` or `key:value` pairs in one flag value, matches all): `--tags=production,tier-1`, `--labels=cost-center=platform`. Compose with `--all`/`--affected` to narrow the selected set further; cannot be combined with a single component argument.
- **`--wait[=strategy]` (optional)** — Use `watcher`, `hookOnly`, or `legacy` while deleting. Passing `--wait` without a value selects `watcher`. Boolean values remain accepted temporarily but are deprecated.
- **`--timeout` (optional)** — Helm uninstall timeout, such as `10m`. `0s` is explicitly unbounded.
- **`--no-hooks` (optional)** — Disable Helm chart uninstall hooks. Atmos lifecycle hooks are unaffected.
- **`--dry-run` (optional)** — Preview the uninstall without deleting release history or Kubernetes resources.

## Try it out

### helm

Copy the example into a new directory and make it your own:

```shell
atmos init examples/helm
cd helm
```

Requires Docker or Podman and network access. Deploy into the local Kubernetes emulator, then delete the release and stop the emulator.

```shell
atmos emulator up kubernetes -s dev
atmos helm apply demo -s dev --identity local-k3s
atmos helm delete demo -s dev --identity local-k3s
atmos emulator down kubernetes -s dev
```

- [Installation guide](/install)
- [Explore the example](/examples/helm)
- [Initialization and repository settings](/cli/commands/init#examples-and-source-directories)
