> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Uninstallation

> Completely remove Chainstack Self-Hosted from your Kubernetes cluster using cpctl, including cleanup of persistent volumes and namespace resources.

<Warning>
  Uninstallation permanently deletes all data including deployed nodes, configuration, and user data. This cannot be undone. Use `--keep-pvcs` if you want to preserve blockchain node data.
</Warning>

## Basic uninstall

```bash theme={"system"}
cpctl uninstall
```

This removes the Helm release and deletes all associated PersistentVolumeClaims. You will be prompted to confirm before anything is deleted.

## Preserve data

To remove the Control Panel but keep the blockchain node data on disk:

```bash theme={"system"}
cpctl uninstall --keep-pvcs
```

This is useful if you plan to reinstall and reattach the existing volumes.

## Preview before deleting

To see what would be deleted without actually deleting anything:

```bash theme={"system"}
cpctl uninstall --dry-run
```

## Uninstall flags

| Flag                          | Description                                                        | Default                   |
| ----------------------------- | ------------------------------------------------------------------ | ------------------------- |
| `--keep-pvcs`                 | Preserve PersistentVolumeClaims (blockchain node data)             | `false`                   |
| `--dry-run`                   | Preview resources to be deleted without deleting                   | `false`                   |
| `--delete-namespace`          | Delete the Control Panel namespace after uninstall                 | `false`                   |
| `--delete-workload-namespace` | Delete the workload namespace after uninstall                      | `false`                   |
| `--workload-namespace`        | Workload namespace name                                            | `<namespace>-deployments` |
| `--force`                     | Force removal: strip finalizers, kill stuck pods, delete namespace | `false`                   |
| `--timeout`                   | Timeout for the uninstall operation                                | `5m0s`                    |
| `-y, --yes`                   | Skip confirmation prompts (for automation)                         | `false`                   |
| `--log-file`                  | Write operations log to a file                                     | —                         |
