recall command families
Grouped by what each one does to your data and your tokens.
- Readno writes, no spend
- Writetouches your db
- Tokensspends claude budget
- Daemonbackground process
Read
No writes, no spend · 8 commandsrecall list / showBrowse your indexed history. Pretty transcript pager.
recall searchFull-text with #tag tokens. BM25 plus RRF fusion on Pro.
recall contextCondensed markdown of any session. Pipe into a new claude.
recall locateFind a past session by topic, id or an old alias. Claude and Codex. Pro.
recall neighborhoodParents, children, citations, similar in one bundle.
recall statsTokens and dollars by session, project, or window.
recall infer bug-patternsCluster signatures into recurring bug groups.
recall audit-secretsScan DB for leaked secrets. Read-only by default.
Write
Touches your DB · 6 commandsrecall bucketYour own .md and .txt files, ingested once and searchable.
recall threadsList, show, link, sync. Auto-detect parent-child links.
recall semanticOn-device 768-d embeddings. Install, status, reindex.
recall pasteArchive clipboard. Secret-scan blocks unsafe content.
recall license / activatePro tier activation. One-time HTTPS call.
recall install-extensionSideload the VS Code, Cursor, or Windsurf VSIX.
Tokens
Spends Claude budget · 1 commandrecall infer outputsPer-session sub-agent extracts bug snippets.
Daemon
Background process · 3 commandsrecall start / stop / openDaemon lifecycle. Loopback HTTP plus watcher.
recall doctor / optimizeHealth check, WAL truncate, FTS5 segment merge.
recall mcpStdio MCP server for Claude Desktop or Claude Code.
CLI commands
Commands are color-coded by safety in the in-app view. Reference:
#First run
recall setup is the guided path from a fresh install to an opened conversation out of your own history. It takes
three steps: enter an invitation privately or continue on Free (it shows your actual access terms), review the
detected Claude Code and Codex sources and choose what to index, then browse or search and open a session.
Ctrl-C pauses it; running it again resumes where you stopped.
recall setup # guided first run
recall setup --status # inspect saved progress
recall setup --refresh # re-detect sources
recall setup --non-interactive --free --source all --latest # scripted; never promptsIndexing stays local. The invitation is read privately and never appears in your shell history — for scripts, pipe it
with --license-stdin rather than passing it as an argument. Optional telemetry and status-line offers appear only
after the transcript closes, and both default to No.
#Index & daemon
recall index # scan + ingest changed sessions, both agents
recall index --force # reindex from scratch
recall start / stop / open # daemon lifecycle
recall status # db path, size, counts
recall update # update the CLI itself (see Install & updating)#Choosing an agent
Claude Code and Codex are both indexed by default. --source narrows a command to one of them and takes
claude-code, codex or all (the default); list, search and locate also accept the short claude.
A word outside that set is refused rather than silently widened to all.
recall codex # status: on or off, Codex home, rollout count
recall codex off # stop reading Codex sessions; indexed rows are kept
recall codex on # resume (this is the default for a fresh install)recall codex with no subcommand reports and changes nothing. off and on write sources.codex.enabled to
your config file for you, so there is no JSON to hand-edit. A running daemon picks the change up on its next sweep,
within about a minute; recall stop && recall start applies it at once. recall doctor prints a Codex section with
rollout and ingest counts and whether tab correlation is available on this machine.
#Browse
recall projects # project list with counts
recall list -p Tools -n 100 # filter by project, limit
recall list --source codex # one agent only
recall show abc12345 # pretty transcript (paged)
recall show abc12345 --raw # raw JSONL#Search
recall search "zod schema" # full-text
recall search "auth flow" -p MyProject # scope to project
recall search "auth flow" --source codex # one agent only
recall search bug -n 50 # up to 50 hits
recall locate "auth flow" --json # historical context + messaging reachability (Pro)
recall locate "old name" -p MyProject # current and previous aliases, both agents
recall locate "old name" --source codex # one agent only--source is accepted by list, search, locate and setup. list and search also print a src
column on every row, so an unfiltered result is still attributable to one agent or the other.
The Find sessions and terminals help section covers the same lookup through the CLI, MCP, VS Code and the web app, including messaging status and handoffs.
#Context (the moat)
recall context abc12345 | pbcopy # condensed → clipboard
recall context abc12345 | claude # pipe into a fresh Claude
recall context abc12345 --since 2h # last 2 hours only
recall context abc12345 --prelude "continue this" | claude
recall neighborhood abc12345 # parents/children/citations bundle
recall neighborhood abc12345 -b 8000 # raise token budget (default 4000)#Threads
recall threads sync # capture running terminals
recall threads scan -p MyProject --apply # auto-detect parent-child
recall threads link <sid> --thread <tid> # manual link
recall threads link <sid> --thread <tid> --parent <pid> # link as child
recall threads show <id> # ASCII tree
recall threads new "Auth refactor" # create a thread
recall threads merge <source> --into <dest>
recall threads split <id> --sessions s1,s2 --name "New"recall threads <sub> and recall thread <sub> both work.
#Stats & health
recall stats abc12345 # per-session
recall stats --days 7 # 7-day rollup
recall fleet # live context-window usage, every open terminal
recall statusline # Claude usage caps in the Claude Code status line
recall doctor # DB + pipeline + tab-name invariant audit
recall optimize # WAL truncate + FTS5 merge#Semantic, buckets, paste, audit
recall semantic install # bge model (~110MB)
recall semantic status # backfill progress
recall vectorize # embed what is not yet vectorized; resumes from the last mark, --pace throttles
recall similar <id> -n 5 # top 5 related (Pro)
recall bucket create <name> # a searchable bucket of your own local docs
cp ~/notes/*.md ~/.recall/buckets/<name>/ # drop docs in the folder create printed
recall bucket ingest <name> # explicit and manual; nothing embeds in background
recall bucket search <name> --query "..." # search it from any repo (--query is required)
recall bucket list # every bucket, with doc and chunk counts
recall paste --label "fix" # archive clipboard, secret-scan first
recall audit-secrets # scan db for leaked keys#Maintenance & retention
recall archive list # what retention would act on
recall archive run --before 2026-01-01 --dry-run
recall archive restore <session-id> # archiving is reversible; nothing is deleted
recall purge-phantoms # drop rows from historical background claude -p spawns
recall db drop-table <name> # only tables recall doctor flagged as reclaimable
recall sweep # list stale DB snapshot/backup files; --apply deletes (never the live DB)
recall mcp-prune # kill stuck MCP children holding SQLite openOnly three commands need the daemon stopped. Run recall stop first, and
recall start when you are done:
| Command | Why |
|---|---|
recall db drop-table | rewrites the file; a concurrent writer risks corruption |
recall purge-phantoms | needs an exclusive write lock. A --dry-run is fine with the daemon up |
recall optimize --vacuum | full rewrite. Plain recall optimize is safe while running |
Stop the daemon yourself rather than relying on the command to stop you. Only
db drop-table reliably refuses to start while the daemon is up; on the other
two the thing that actually protects your database is SQLite's own write lock,
which shows up as a slow command or a database is locked error rather than a
clean refusal.
archive list, archive run, archive restore, sweep and mcp-prune all
run fine with the daemon up. mcp-prune in particular exists so you can free a
pinned database without restarting the daemon at all.
recall archive auto on is the opposite case: it needs the daemon running,
because the daemon is what performs the pass on its next tick.
None of these touch your source transcripts. ~/.claude/projects/ and ~/.codex/sessions/ are read-only to Recall,
and nothing under ~/.codex is ever written.
#Bug patterns
recall infer outputs --project <name> # extract bug snippets (LLM, costs tokens)
recall infer bug-patterns --semantic # local clustering with embedding fuzz#License & extension
recall activate <key> # one-time HTTPS, then offline forever
recall license status # tier check
recall trial # start a 7-day Pro trial, or redeem a promo code
recall upgrade # open the pricing page (NOT a CLI update)
recall install-extension # sideload VS Code/Cursor/Windsurf VSIX
recall telemetry status # the opt-in install ping; OFF unless you turned it on#MCP server
recall mcp # stdio MCP server
recall mcp --allow-writes # enable write tools (off by default)#Git correlation
recall correlate # link sessions to commits in their cwd
recall blame <sha> # reverse lookup: commit to session