Skip to main content

Memory Operations

Store, retrieve, and maintain high-quality memories in Memanto.

Memory Fundamentals

What is a Memory?

A memory in Memanto includes:
  • Content: The core information.
  • Type: Semantic category (fact, preference, decision, etc.).
  • Title (optional): Short label for readability.
  • Confidence (optional): Reliability score from 0 to 1.
  • Metadata (optional): Extra structured context.

Memory Lifecycle

Core Operations

Use these commands for most workflows:
  • Store a memory: memanto remember "..." --type fact
  • Batch store: memanto remember --batch memories.json
  • Recall semantically: memanto recall "..."
  • Answer from context: memanto answer "..."
  • Delete a memory: memanto forget MEMORY_ID
  • Detect contradictions: memanto conflicts
  • Export memory history: memanto memory export

Uploading Files into Memory

When information already exists in documents, upload files instead of manually adding many individual memories.

Supported Formats

.pdf, .docx, .xlsx, .json, .txt, .csv, .md (up to 5 GB per file).

CLI

Activate an agent session, then upload:
Recall uploaded knowledge with normal search:

REST API

Upload vs Remember

Extracting from Conversations

If you have raw chat logs, Memanto can automatically parse the conversation and use the underlying LLM to extract durable, structured memories (like facts and preferences) while discarding the noise.

Using the Web UI

The Memanto Web Dashboard features an Extract tab in the Playground:
  1. Paste a JSON array of conversation turns ([{"role": "user", "content": "..."}, ...]).
  2. Click Preview Extraction to review the memory cards Memanto generated. You can modify types, content, and confidence.
  3. Click Save to Database to persist the selected facts.
  4. (Optional) Use Extract & Save to skip the preview and directly persist the memories.

Using the CLI

You can extract and store memories from a local JSON file containing your chat history:

Using the REST API

Send your conversation payload to the extract endpoint:

Recall Patterns

Semantic Recall

Filter by Type

Limit Result Volume

Temporal Recall

Use the temporal recall variants (--as-of, --changed-since, and --recent) to query memory across time. See Temporal Memory Details for complete patterns and examples.

Answering and Conflict Management

Grounded Answers

Conflict Detection

When contradictions are found, resolve them by keeping the new memory, the old one, both, removing both, or replacing them with a manual entry. See List Conflicts and Resolve Conflict for the API contract.

Deleting a Memory

Remove a single memory from the active agent by its ID. Find the ID in the output of memanto recall, then:
This prompts for confirmation. Add --force to skip it. See the forget command and Delete Memory API for details.
For contradictions, prefer resolving conflicts (keep new/old/both, remove both, or replace) over deleting history. Use forget for one-off removals such as a memory stored by mistake.

Migrating from Other Providers

Already have memories in Mem0, Letta, or Supermemory? Import them into a Memanto agent with memanto migrate:
See the migrate command for providers, options, and output details.

Export and Sync

Export to Markdown

Export to Custom Path

Sync to MEMORY.md

Performance Tips

  1. Use specific memory types instead of defaulting everything to fact.
  2. Batch ingest when importing many items.
  3. Keep recall limits tight for faster, cleaner responses.
  4. Use confidence scoring when information quality varies.

Best Practices

DO

  • Keep memories concise and atomic.
  • Record source context in metadata when useful.
  • Resolve conflicts explicitly when contradictions arise rather than deleting history.

DON’T

  • Store the same fact repeatedly.
  • Mix multiple unrelated facts in one memory.
  • Over-fetch with very high recall limits by default.

Next Steps


Memory operations are the core of Memanto. Keep this flow lean, typed, and conflict-aware for best results.