> ## 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 recall

> Retrieve memories using semantic search, with optional temporal query modes.

# memanto recall

Retrieve memories using semantic search, with optional temporal modes.

```bash theme={null}
memanto recall QUERY [OPTIONS]
```

**Arguments:**

* `QUERY` - Search query (omit when using `--as-of`, `--changed-since`, or `--recent` — those modes list memories chronologically and ignore any query)

## ITS Scoring

<Snippet file="its-scoring.mdx" />

**Options:**

* `-t, --type TEXT` - Filter by memory type (e.g. `fact`, `preference`)
* `-n, --limit INTEGER` - Maximum number of results (default: server-configured `RECALL_LIMIT`, max: 100)
* `--min-similarity FLOAT` - Minimum similarity score, i.e. how well the memory matches the query (`0.0`–`1.0`)
* `--min-confidence FLOAT` - Minimum stored confidence score on the memory itself (`0.0`–`1.0`). Memories with no stored confidence value are kept rather than dropped — imported memories often carry none, and filtering them out silently would hide them.
* `--tags TEXT` - Filter by tags (comma-separated)
* `--as-of DATETIME` - Point-in-time query: what was true at this date? (`YYYY-MM-DD`, ISO 8601, or a [relative time string](#relative-time-strings))
* `--changed-since DATE` - Differential query: what changed since this date? (`YYYY-MM-DD`, ISO 8601, or a [relative time string](#relative-time-strings))
* `--recent` - Chronological query: return the most recently stored memories (newest first). Pairs with `--limit` and `--type`; ignores `QUERY`, `--tags`, `--min-similarity`, and `--min-confidence`.
* `--active` - Only [active](/reference/memory-lifecycle) memories (exclude expired)
* `--expired` - Only expired memories

`--as-of`, `--changed-since`, and `--recent` are mutually exclusive. So are `--active` and `--expired`.

## Relative time strings

`--as-of` and `--changed-since` accept a plain-English phrase instead of a timestamp:

| Phrase                                   | Resolves to                            |
| ---------------------------------------- | -------------------------------------- |
| `today`                                  | Start of today (UTC)                   |
| `yesterday`                              | Start of yesterday (UTC)               |
| `this week`                              | Start of the current week (Monday)     |
| `this month`                             | Start of the current month             |
| `last week` / `last month` / `last year` | 7 / 30 / 365 days ago, at start of day |
| `last N days`                            | `N` days ago, at start of day          |
| `last N hours`                           | Exactly `N` hours ago                  |

`past` is a synonym for `last` everywhere (`past 7 days`, `past week`), and `N` may be
spelled out (`last seven days`, `last twelve hours`).

```bash theme={null}
memanto recall --changed-since "last week"
memanto recall --changed-since "past 3 days" --type decision
memanto recall --as-of "yesterday"
```

Two things to know:

* `last month` and `last year` are fixed 30- and 365-day lookbacks, not calendar
  windows. Use an explicit `YYYY-MM-DD` when you need a calendar boundary.
* `--as-of yesterday` resolves to the **end** of yesterday, not the start — a
  point-in-time query asks what was true at the close of that day. Every other
  day-based phrase resolves to the start of its day.

Anything not recognized as a relative phrase is parsed as ISO 8601; if that also
fails, the command exits with the accepted formats rather than querying.

## Lifecycle filtering

By default recall returns **active and expired memories together**, each labelled — expired memories are surfaced to the reader, not hidden from them:

```
[ACTIVE]  Deploys go through the release bot
[EXPIRED] Deploys are manual via ssh
Expired Aug 18, 2026 03:56 PM · policy: retention.context
```

`--as-of` cannot be combined with `--active` / `--expired`: a point-in-time query already returns exactly the memories that were active at that date, including ones that have expired since. See [Memory Lifecycle](/reference/memory-lifecycle).

**Examples:**

Basic recall:

```bash theme={null}
memanto recall "What about the customer?"
```

Filter by type:

```bash theme={null}
memanto recall "preferences" --type preference
```

Specific limit:

```bash theme={null}
memanto recall "customer info" --limit 10
```

Temporal queries (no `QUERY` — these modes list memories chronologically):

```bash theme={null}
# As of a specific moment
memanto recall --as-of "2026-05-01T12:00:00Z"

# Changed since last week
memanto recall --changed-since "2026-05-03"

# Most recently stored memories (newest first)
memanto recall --recent --limit 10

# Narrow temporal queries by type
memanto recall --changed-since "2026-05-03" --type decision
memanto recall --recent --type fact
```

Tag filter:

```bash theme={null}
memanto recall "billing" --tags "vip,enterprise"
```

**Output:**

```
Found 3 memories:

1. Customer prefers email contact
   Type: preference
   Confidence: 0.98
   Created: 2026-05-08 09:00:00 UTC
   Source: user | Provenance: explicit_statement
   Tags: vip, billing

2. Will deliver report by Friday
   Type: commitment
   Confidence: 1.0
   Created: 2026-05-08 14:30:00 UTC
   Source: agent | Provenance: inferred

3. In PST timezone
   Type: fact
   Confidence: 0.95
   Created: 2026-05-07 10:15:00 UTC
   Source: agent | Provenance: explicit_statement
```

Each result also surfaces its provenance metadata when present:

* **Source** — where the memory came from: `user`, `agent`, or the uploaded file name for file-based memories.
* **Ref** — a pointer to the original record within that source (e.g. a tool-call id or migration id). Only shown when set.
* **Provenance** — how the memory was obtained: `explicit_statement`, `inferred`, `corrected`, `validated`, `observed`, or `imported`.
* **Tags** — any tags attached to the memory.
