~/.versuno/memory/ and prints the best matches. Fill the store first with versuno memory capture --local. Everything runs locally. No account, no network.
The query is keyword based. The phrase is split into words, common stopwords are dropped, and memories rank by how often the remaining words appear, with title matches counting more than body matches. With no query, recall lists every stored memory, newest first.
Recall searches across every project and agent. The store is global by design.
Arguments
| Argument | Required | Description |
|---|---|---|
query | Positional | Search terms. Quote multi-word phrases. Omit to list everything. |
Options
| Flag | Description |
|---|---|
--agent <agent> | Filter by agent: claude, copilot, or codex. |
--limit <n> | Most results to show. Defaults to 10. |
--format json | Print structured JSON instead of text. This is what an agent reads. |
--hook | Hook mode for Claude Code. Reads a prompt from stdin and prints matching memory as context. See below. |
Examples
JSON output
Hook mode
versuno memory recall --hook is the entrypoint for Claude Code’s UserPromptSubmit hook. It reads the hook JSON from stdin, searches the store against your prompt, and prints a <versuno-memory> block to stdout. Claude Code injects that block alongside your prompt.
Hook mode stays quiet unless it’s confident. It only surfaces a memory on a title match, or when at least two distinct query words hit. On empty, irrelevant, or malformed input it prints nothing and never errors, so it can’t block a prompt.
Install it with versuno memory install-hook instead of wiring it by hand.
See also
- versuno memory capture fills the local store
- versuno memory install-hook wires recall into Claude Code

