Skip to content

CLI Commands ​

The remind CLI is project-aware by default. Without --db, it uses <cwd>/.remind/remind.db.

Core commands ​

remember ​

Store an episode.

bash
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
FlagDescription
-t, --typeEpisode type: observation, decision, question, preference, meta, outcome, fact
-e, --entityEntity tag(s) in type:name format. Repeat for multiple.
-m, --metadataJSON metadata string
-l, --labelLabel(s) as key=value. Repeat for multiple.
--asserted-byWho asserted this information (provenance)
--source-refLink to the original artifact (URL/permalink)
--no-embedSkip 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.

bash
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
FlagDescription
--entityScope retrieval to an entity (can be used without a query)
-kNumber of concepts to return (default: 3)
--episode-k, -ekNumber of episodes via direct vector search (default: 5, 0 to disable)
-l, --labelPre-filter to a label as key=value. Repeat for multiple.
--as-ofISO date/datetime for time-travel (facts valid at that point)
--max-charsCap the formatted output length; drops lowest-ranked items whole to fit
--min-scoreDrop concepts/episodes below this activation score even if k budget remains
--timeout-msSoft deadline; returns best-so-far instead of raising if exceeded

snapshot ​

Batch read returning current memory state as JSON.

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

bootstrap[:<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.

ScopeDescription
pendingUnprocessed episodes with entities
conflictsOpen conflicts with fact context
entity:<id>Entity detail with episodes and fact clusters
labelsAll 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
statsMemory 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.

bash
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
FlagDescription
--sinceOnly return events with seq greater than this (default: 0)
--limitMaximum number of events to return (default: 200)
--kindFilter to a single event kind, e.g. remembered, conflict_opened
-p, --prettyPretty-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.

bash
# 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
FlagDescription
-f, --fileRead changeset from file instead of stdin
--dry-runValidate without executing
--jsonOutput results as JSON

See MCP Tools — apply for the full op vocabulary.

Inspection ​

stats ​

Summary counts, decay settings, embedding provider, and database path.

bash
remind stats

types ​

Show which episode types are enabled.

bash
remind types

status ​

Show processing status and worker states.

bash
remind status

Search concepts by keyword.

bash
remind search "keyword"

Conflicts ​

Triage detected memory conflicts.

bash
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"
SubcommandFlags
list--status open|resolved|dismissed|all, --kind fact|concept
resolve <id> <winning_fact_id>--note, --by
dismiss <id>--note, --by

Episode filters ​

bash
remind decisions                  # Decision-type episodes
remind questions                  # Question-type episodes

Entity management ​

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

Memory management ​

bash
# 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 items

Embeddings ​

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.

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

clear-embeddings ​

Clear all embeddings, including fact embeddings (requires re-embed after).

bash
remind clear-embeddings --yes

Export / Import ​

bash
remind export backup.json
remind import backup.json

Web UI ​

bash
remind ui                    # Open with project database
remind ui --port 9000        # Custom port
remind ui --no-open          # Start server only

Skills ​

bash
remind skill-install                 # Install all bundled skills to .claude/skills/
remind skill-install remind-capture  # Install a specific skill

Installs remind-capture, remind-context, and remind-curate. See Skills + CLI.

Global flags ​

FlagDescription
--db NAMEUse ~/.remind/NAME.db instead of project-local
--embedding PROVIDEROverride embedding provider
--versionShow version

Released under the Apache 2.0 License.