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

# memanto memory expire

> Retire a memory without deleting it.

# memanto memory expire

Mark a memory `expired`. The content is kept and the memory still appears in
recall, clearly labelled — this is the reversible alternative to
[`memanto forget`](/cli/data/forget).

```bash theme={null}
memanto memory expire MEMORY_ID [OPTIONS]
```

**Arguments:**

* `MEMORY_ID` - ID of the memory to expire (required)

**Options:**

* `-r, --reason TEXT` - Why it expired, stamped as `expired_by` (default: `manual`). Letters, digits, `.`, `_` and `-` only.

**Examples:**

Expire with the default reason:

```bash theme={null}
memanto memory expire b7c3cf31-e537-49f1-abc4-c50ac6adeac5
```

Record why it was retired:

```bash theme={null}
memanto memory expire b7c3cf31-e537-49f1-abc4-c50ac6adeac5 --reason superseded-by-rewrite
```

**Output:**

```
Memory expired.
  Memory ID: b7c3cf31-e537-49f1-abc4-c50ac6adeac5
  Reason: superseded-by-rewrite
  Still recallable and labelled [EXPIRED]. Restore with 'memanto memory restore b7c3cf31-...'.
  Completed in 2.03s
```

Afterwards, recall labels it and shows the stamp:

```
[EXPIRED] Deploys are manual via ssh
Expired Aug 18, 2026 03:56 PM · policy: superseded-by-rewrite
```

**Notes:**

* Requires an active agent. Run `memanto agent activate <agent-id>` first.
* Nothing is destroyed — content, tags, confidence and timestamps are untouched.
* Reverse it with [`memanto memory restore`](/cli/data/restore).
* Editing an expired memory does **not** revive it; only an explicit restore clears the stamp.
* To retire memories in bulk by rule instead, use [`memanto policy apply`](/cli/policy/apply).
* Backed by the [Expire Memory](/api-reference/data/expire-memory) API endpoint.
* See the [Memory Lifecycle](/reference/memory-lifecycle) reference for the full model.
