# WorkflowClient.undeploy_release

```python
def WorkflowClient.undeploy_release(
    workflow_or_slug: Workflow | str,
    release_or_id: WorkflowRelease | UUID | str,
    clusters: Cluster | str | list[Cluster | str] | None = None,
) -> WorkflowReleaseDeployment
```

Remove a workflow release from one or more clusters.

## Parameters

**workflow\_or\_slug**

`Workflow | str`

required: true

The workflow or workflow slug containing the release to remove from clusters.

**release\_or\_id**

`WorkflowRelease | UUID | str`

required: true

The workflow release or release ID to remove from clusters.

**clusters**

`Cluster | str | list[Cluster | str] | None`

The cluster or clusters to remove the release from. If omitted, the API uses the default cluster.

## Returns

The result, including the release and affected clusters.

```python title="Python"
deployment = workflow_client.undeploy_release(
    workflow,
    release.id,
    clusters="production",
)
```
