--- summary: "CLI reference for `openclaw memory` (status/index/search/promote)" read_when: - You want to index or search semantic memory - You’re debugging memory availability or indexing - You want to promote recalled short-term memory into `MEMORY.md` title: "memory" --- # `openclaw memory` Manage semantic memory indexing and search. Provided by the active memory plugin (default: `memory-core`; set `plugins.slots.memory = "none"` to disable). Related: - Memory concept: [Memory](/concepts/memory) - Plugins: [Plugins](/tools/plugin) ## Examples ```bash openclaw memory status openclaw memory status --deep openclaw memory status --fix openclaw memory index --force openclaw memory search "meeting notes" openclaw memory search --query "deployment" --max-results 20 openclaw memory promote --limit 10 --min-score 0.75 openclaw memory promote --apply openclaw memory promote --json --min-recall-count 0 --min-unique-queries 0 openclaw memory status --json openclaw memory status --deep --index openclaw memory status --deep --index --verbose openclaw memory status --agent main openclaw memory index --agent main --verbose ``` ## Options `memory status` and `memory index`: - `--agent `: scope to a single agent. Without it, these commands run for each configured agent; if no agent list is configured, they fall back to the default agent. - `--verbose`: emit detailed logs during probes and indexing. `memory status`: - `--deep`: probe vector + embedding availability. - `--index`: run a reindex if the store is dirty (implies `--deep`). - `--fix`: repair stale recall locks and normalize promotion metadata. - `--json`: print JSON output. `memory index`: - `--force`: force a full reindex. `memory search`: - Query input: pass either positional `[query]` or `--query `. - If both are provided, `--query` wins. - If neither is provided, the command exits with an error. - `--agent `: scope to a single agent (default: the default agent). - `--max-results `: limit the number of results returned. - `--min-score `: filter out low-score matches. - `--json`: print JSON results. `memory promote`: Preview and apply short-term memory promotions. ```bash openclaw memory promote [--apply] [--limit ] [--include-promoted] ``` - `--apply` -- write promotions to `MEMORY.md` (default: preview only). - `--limit ` -- cap the number of candidates shown. - `--include-promoted` -- include entries already promoted in previous cycles. Full options: - Ranks short-term candidates from `memory/YYYY-MM-DD.md` using weighted promotion signals (`frequency`, `relevance`, `query diversity`, `recency`, `consolidation`, `conceptual richness`). - Uses short-term signals from both memory recalls and daily-ingestion passes, plus light/REM phase reinforcement signals. - When dreaming is enabled, `memory-core` auto-manages one cron job that runs a full sweep (`light -> REM -> deep`) in the background (no manual `openclaw cron add` required). - `--agent `: scope to a single agent (default: the default agent). - `--limit `: max candidates to return/apply. - `--min-score `: minimum weighted promotion score. - `--min-recall-count `: minimum recall count required for a candidate. - `--min-unique-queries `: minimum distinct query count required for a candidate. - `--apply`: append selected candidates into `MEMORY.md` and mark them promoted. - `--include-promoted`: include already promoted candidates in output. - `--json`: print JSON output. ## Dreaming (experimental) Dreaming is the background memory consolidation system with three cooperative phases: **light** (sort/stage short-term material), **deep** (promote durable facts into `MEMORY.md`), and **REM** (reflect and surface themes). - Enable with `plugins.entries.memory-core.config.dreaming.enabled: true`. - Toggle from chat with `/dreaming on|off` (or inspect with `/dreaming status`). - Dreaming runs on one managed sweep schedule (`dreaming.frequency`) and executes phases in order: light, REM, deep. - Only the deep phase writes durable memory to `MEMORY.md`. - Human-readable phase output and diary entries are written to `DREAMS.md` (or existing `dreams.md`), with optional per-phase reports in `memory/dreaming//YYYY-MM-DD.md`. - Ranking uses weighted signals: recall frequency, retrieval relevance, query diversity, temporal recency, cross-day consolidation, and derived concept richness. - Promotion re-reads the live daily note before writing to `MEMORY.md`, so edited or deleted short-term snippets do not get promoted from stale recall-store snapshots. - Scheduled and manual `memory promote` runs share the same deep phase defaults unless you pass CLI threshold overrides. - Automatic runs fan out across configured memory workspaces. Default scheduling: - **Sweep cadence**: `dreaming.frequency = 0 3 * * *` - **Deep thresholds**: `minScore=0.8`, `minRecallCount=3`, `minUniqueQueries=3`, `recencyHalfLifeDays=14`, `maxAgeDays=30` Example: ```json { "plugins": { "entries": { "memory-core": { "config": { "dreaming": { "enabled": true } } } } } } ``` Notes: - `memory index --verbose` prints per-phase details (provider, model, sources, batch activity). - `memory status` includes any extra paths configured via `memorySearch.extraPaths`. - If effectively active memory remote API key fields are configured as SecretRefs, the command resolves those values from the active gateway snapshot. If gateway is unavailable, the command fails fast. - Gateway version skew note: this command path requires a gateway that supports `secrets.resolve`; older gateways return an unknown-method error. - Tune scheduled sweep cadence with `dreaming.frequency`. Deep promotion policy is otherwise internal; use CLI flags on `memory promote` when you need one-off manual overrides. - See [Dreaming](/concepts/dreaming) for full phase descriptions and configuration reference.