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.