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

# murmur delete

> Permanently purge a stopped agent subtree, including every execution's session transcripts, uploads, events, and workflow history.

<Warning>
  `murmur delete` is irreversible. It permanently destroys the selected agent,
  every descendant agent, and every execution of each. Use `--dry-run` before
  confirming the purge.
</Warning>

Permanently purges a stopped [agent](/concepts/agents) subtree from Murmur. The
purge deletes session transcripts, uploaded files, event history, workflow
history, stored credentials, catalog agent records, and any remaining VMs.

Billing records remain, as do pull requests, branches, and commits on GitHub.
The whole subtree must already be stopped; use [`murmur kill`](/cli/kill) first
when any execution is still running.

## Synopsis

```bash theme={null}
murmur delete [flags] <slug>
```

## Arguments

| Name          | Type   | Required | Description                                                                                |
| ------------- | ------ | -------- | ------------------------------------------------------------------------------------------ |
| `slug`        | string | yes      | Root agent to purge. Every descendant and every execution of each is included.             |
| `--dry-run`   | bool   | no       | Print the exact purge manifest and destroy nothing.                                        |
| `--yes`       | bool   | no       | Skip the typed confirmation. Intended for automation; cannot be combined with `--dry-run`. |
| `--workspace` | string | no       | Workspace name. Overrides the value from `murmur.yaml`.                                    |

## Preview the purge

```bash theme={null}
murmur delete --dry-run fix-auth
```

The preview lists each agent identity in the subtree, its execution count, and
any live VMs. A committed purge resolves the subtree again and refuses to start
if an execution is still running.

## Delete an agent

```bash theme={null}
murmur delete fix-auth
```

The command displays the same manifest and asks you to type the slug before it
starts the purge. An agent addressed by a path — `parent/reviewer`, or a fully
qualified `/w/backend/github_oauth/alice/fix-auth` — confirms by its own last
segment, which is what the prompt asks for. On success, the command prints a
purge ID and the `murmur history` command that tracks completion.

For non-interactive automation:

```bash theme={null}
murmur delete --yes fix-auth
```

## Storage charges

Deleting an agent is the customer-facing way to remove its retained session
transcripts. Future [Historical Session Storage charges](/concepts/pricing#historical-session-storage)
stop after the purge removes those objects. Killing, sleeping, or completing an
agent does not remove its transcript.

## Errors

| Code                                    | Meaning                                                                                                                                 | What to do                                                                               |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `FAILED_PRECONDITION`                   | `agent <id> has running executions (...)` — the subtree is not stopped, and a purge never terminates anything on your behalf.           | [`murmur kill`](/cli/kill) the named executions, or wait for them to finish, then retry. |
| `UNAVAILABLE`                           | `cannot establish that <id> is stopped` — the liveness check itself failed, and a purge only proceeds over a provably terminal subtree. | Retry.                                                                                   |
| `UNAUTHENTICATED`                       | Identity token is missing or expired.                                                                                                   | Run `murmur auth` or check your `murmur.local.yaml` configuration.                       |
| `<slug> has no runs on record`          | The slug names no executions — usually a typo. `murmur delete` takes an agent, not a substring.                                         | Check the slug with [`murmur ls`](/cli/ls).                                              |
| `aborted: the typed name did not match` | The confirmation did not match the agent's slug exactly. The match is case-sensitive, and a closed stdin declines.                      | Retype the slug, or use `--yes` for automation.                                          |
| `flags must precede the slug`           | A flag came after the slug, where the parser does not see it — `murmur delete fix-auth --dry-run` would otherwise be a real purge.      | Run the corrected invocation the error prints.                                           |
| `-yes and -dry-run are contradictory`   | Both flags were passed: one destroys without asking, the other destroys nothing.                                                        | Pass one or the other.                                                                   |

## Related

* [Pricing](/concepts/pricing#historical-session-storage) — retained transcript storage charges
* [`murmur kill`](/cli/kill) — stop a running agent before purging it
* [Agents](/concepts/agents) — agent lifecycle overview
