CLI Commands
The remind CLI is project-aware by default. Without --db, it uses <cwd>/.remind/remind.db.
Core commands
remember
Store an episode.
remind remember "content"
remind remember "content" -t decision # Typed
remind remember "content" -e tool:redis # With entity
remind remember "content" -l topic=architecture
remind remember "Cache TTL is 300s" -t fact -e tool:redis --asserted-by alice| Flag | Description |
|---|---|
-t, --type | Episode type: observation, decision, question, preference, meta, outcome, fact |
-e, --entity | Entity tag(s) in type:name format. Repeat for multiple. |
-m, --metadata | JSON metadata string |
-l, --label | Label(s) as key=value. Repeat for multiple. |
--asserted-by | Who asserted this information (provenance) |
--source-ref | Link to the original artifact (URL/permalink) |
--no-embed | Skip embedding (faster). Useful for bulk imports. |
For fact episodes, the output includes collision information if there are existing facts with overlapping entities.
recall
Retrieve relevant memories via spreading activation.
remind recall "query"
remind recall "query" --entity file:src/auth.ts # Entity-scoped
remind recall --entity file:src/auth.ts # Entity-only (no query needed)
remind recall "query" -k 10 # More results
remind recall "query" --episode-k 10 # More direct episode matches
remind recall "query" --episode-k 0 # Concepts only, no episode search
remind recall "database design" -l topic=architecture # Label-scoped
remind recall --as-of 2024-06-01 "cache configuration" # Time-travel
remind recall "query" --max-chars 2000 # Cap output size
remind recall "query" --min-score 0.3 --timeout-ms 500 # Budget controls| Flag | Description |
|---|---|
--entity | Scope retrieval to an entity (can be used without a query) |
-k | Number of concepts to return (default: 3) |
--episode-k, -ek | Number of episodes via direct vector search (default: 5, 0 to disable) |
-l, --label | Pre-filter to a label as key=value. Repeat for multiple. |
--as-of | ISO date/datetime for time-travel (facts valid at that point) |
--max-chars | Cap the formatted output length; drops lowest-ranked items whole to fit |
--min-score | Drop concepts/episodes below this activation score even if k budget remains |
--timeout-ms | Soft deadline; returns best-so-far instead of raising if exceeded |
snapshot
Batch read returning current memory state as JSON.
remind snapshot pending # Unprocessed episodes
remind snapshot conflicts # Open conflicts
remind snapshot pending,conflicts # Both at once
remind snapshot entity:tool:redis # Entity detail
remind snapshot labels # All distinct labels with counts
remind snapshot label:topic=architecture # Label detail
remind snapshot concept:abc123 # Concept detail
remind snapshot recent:20 # Recent episodes
remind snapshot stats # Statistics
remind snapshot query:cache # Semantic search
remind snapshot events:42 # Change-feed events after seq 42
remind snapshot bootstrap # Query-free stable contextbootstrap[:<n>] needs no embedding call and returns the same result for the same memory state, so it's cheap enough to call at the start of every session — a good default for grounding before running targeted queries.
| Scope | Description |
|---|---|
pending | Unprocessed episodes with entities |
conflicts | Open conflicts with fact context |
entity:<id> | Entity detail with episodes and fact clusters |
labels | All distinct key=value labels in use, with counts |
label:<key>=<value> | All episodes and concepts carrying a label |
concept:<id> | Concept detail with facts and history |
recent:<n> | N most recent episodes |
stats | Memory statistics |
query:<text> | Semantic search for concepts |
events[:<since_seq>] | Change-feed events with seq > since_seq (default 0). Prefer remind events. |
bootstrap[:<n>] | Query-free stable context: top-n actionable concepts by confidence + open conflicts + stats (default 10) |
events
Poll the append-only change feed of writes. Use this instead of re-scanning snapshot pending to detect new activity.
remind events # All events from the start
remind events --since 42 # Only events after seq 42
remind events --kind conflict_opened --since 42 # Filter to one kind
remind events --limit 50 --pretty| Flag | Description |
|---|---|
--since | Only return events with seq greater than this (default: 0) |
--limit | Maximum number of events to return (default: 200) |
--kind | Filter to a single event kind, e.g. remembered, conflict_opened |
-p, --pretty | Pretty-print JSON output |
Returns {since_seq, count, events, next_since_seq}. kind is one of remembered, superseded, conflict_opened, conflict_resolved, conflict_dismissed, concept_created, updated, labeled, unlabeled, deleted, restored, processed. Save next_since_seq and pass it as --since on the next poll.
apply
Batch write for transactional memory curation.
# From stdin
remind apply << 'EOF'
remember as=f1 t=fact e=tool:redis "Cache TTL is 600s"
supersede old=fact:abc123 new=$f1
concept from=ep:11,ep:12 title="Redis config" "TTL-based caching"
processed ids=ep:11,ep:12
EOF
# From file
remind apply -f changeset.txt
# Dry run (validate without executing)
remind apply --dry-run << 'EOF'
remember t=fact "Test fact"
EOF| Flag | Description |
|---|---|
-f, --file | Read changeset from file instead of stdin |
--dry-run | Validate without executing |
--json | Output results as JSON |
See MCP Tools — apply for the full op vocabulary.
Inspection
stats
Summary counts, decay settings, embedding provider, and database path.
remind statstypes
Show which episode types are enabled.
remind typesstatus
Show processing status and worker states.
remind statussearch
Search concepts by keyword.
remind search "keyword"Conflicts
Triage detected memory conflicts.
remind conflicts # List open conflicts
remind conflicts list --status all # Include resolved/dismissed
remind conflicts list --kind fact # Filter by kind
# Resolve: winning fact stays, loser is superseded
remind conflicts resolve <id> <winning_fact_id> --note "confirmed" --by alice
# Dismiss: both valid in different contexts
remind conflicts dismiss <id> --note "staging vs prod"| Subcommand | Flags |
|---|---|
list | --status open|resolved|dismissed|all, --kind fact|concept |
resolve <id> <winning_fact_id> | --note, --by |
dismiss <id> | --note, --by |
Episode filters
remind decisions # Decision-type episodes
remind questions # Question-type episodesEntity management
remind entities # List all entities
remind entities file:src/auth.ts # Entity details
remind mentions file:src/auth.ts # Episodes mentioning entity
remind entity-relations file:src/auth.ts # Entity relationshipsMemory management
# Update
remind update-episode <id> -c "Corrected content"
remind update-episode <id> -l topic=architecture
remind update-episode <id> --clear-labels
remind update-concept <id> -s "Refined summary" --confidence 0.9
remind update-concept <id> -l topic=product
remind update-concept <id> --clear-labels
# Soft delete (recoverable)
remind delete-episode <id>
remind delete-concept <id>
# View deleted
remind deleted
# Restore
remind restore-episode <id>
remind restore-concept <id>
# Permanent delete
remind purge-episode <id>
remind purge-concept <id>
remind purge-all # All soft-deleted itemsEmbeddings
re-embed
Re-embed all concepts, episodes, entities, and facts. Useful when switching embedding providers or dimensions. --all is the default and is required when the embedding dimension changes, so no record type retains vectors from the old embedding space.
remind re-embed --all # Re-embed every record type
remind re-embed --facts # Re-embed facts only (same dimensions only)
remind re-embed --batch-size 100 # Larger batchesclear-embeddings
Clear all embeddings, including fact embeddings (requires re-embed after).
remind clear-embeddings --yesExport / Import
remind export backup.json
remind import backup.jsonWeb UI
remind ui # Open with project database
remind ui --port 9000 # Custom port
remind ui --no-open # Start server onlySkills
remind skill-install # Install all bundled skills to .claude/skills/
remind skill-install remind-capture # Install a specific skillInstalls remind-capture, remind-context, and remind-curate. See Skills + CLI.
Global flags
| Flag | Description |
|---|---|
--db NAME | Use ~/.remind/NAME.db instead of project-local |
--embedding PROVIDER | Override embedding provider |
--version | Show version |