Skip to content
CLI commands

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 commands
recall list / show

Browse your indexed history. Pretty transcript pager.

recall search

Full-text with #tag tokens. BM25 plus RRF fusion on Pro.

recall context

Condensed markdown of any session. Pipe into a new claude.

recall locate

Find a past session by topic, id or an old alias. Claude and Codex. Pro.

recall neighborhood

Parents, children, citations, similar in one bundle.

recall stats

Tokens and dollars by session, project, or window.

recall infer bug-patterns

Cluster signatures into recurring bug groups.

recall audit-secrets

Scan DB for leaked secrets. Read-only by default.

Write

Touches your DB · 6 commands
recall bucket

Your own .md and .txt files, ingested once and searchable.

recall threads

List, show, link, sync. Auto-detect parent-child links.

recall semantic

On-device 768-d embeddings. Install, status, reindex.

recall paste

Archive clipboard. Secret-scan blocks unsafe content.

recall license / activate

Pro tier activation. One-time HTTPS call.

recall install-extension

Sideload the VS Code, Cursor, or Windsurf VSIX.

Tokens

Spends Claude budget · 1 command
recall infer outputs

Per-session sub-agent extracts bug snippets.

Daemon

Background process · 3 commands
recall start / stop / open

Daemon lifecycle. Loopback HTTP plus watcher.

recall doctor / optimize

Health check, WAL truncate, FTS5 segment merge.

recall mcp

Stdio 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.

bash
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 prompts

Indexing 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

bash
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.

bash
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

bash
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
bash
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)

bash
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

bash
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

bash
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

bash
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

bash
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 open

Only three commands need the daemon stopped. Run recall stop first, and recall start when you are done:

CommandWhy
recall db drop-tablerewrites the file; a concurrent writer risks corruption
recall purge-phantomsneeds an exclusive write lock. A --dry-run is fine with the daemon up
recall optimize --vacuumfull 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

bash
recall infer outputs --project <name>     # extract bug snippets (LLM, costs tokens)
recall infer bug-patterns --semantic      # local clustering with embedding fuzz

#License & extension

bash
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

bash
recall mcp                                # stdio MCP server
recall mcp --allow-writes                 # enable write tools (off by default)

#Git correlation

bash
recall correlate                          # link sessions to commits in their cwd
recall blame <sha>                        # reverse lookup: commit to session

Last updated