memanto migrate
Import your memories from another provider into a Memanto agent. Each subcommand pulls (or loads) the provider’s export, maps the source records onto Memanto memory types, and bulk-writes them into the target agent.mem0- Migrate a Mem0 accountletta- Migrate Letta archival passagessupermemory- Migrate a Supermemory account
--api-key TEXT- Provider API key (saved to~/.memanto/.env). Can also be supplied via the provider’s environment variable.-f, --file PATH- Use an existing provider export JSON instead of pulling a live export.-a, --agent TEXT- Target Memanto agent ID (defaults to the active agent).--dry-run- Preview the mapping and savings report without writing anything.--report- Also write the token/latency/storage savings report on a real run.
--api-key is not passed:
| Provider | Environment variable |
|---|---|
mem0 | MEM0_API_KEY |
letta | LETTA_API_KEY |
supermemory | SUPERMEMORY_API_KEY |
~/.memanto/.env.
How it works
- Load the provider export — either from disk (
--file) or by pulling a live export with your API key. - Map the source records onto Memanto memory types.
- Import the mapped memories into the target agent in batches of up to 100.
- Report (optional) — render a token/storage/latency savings report.
--agent or activate one first); a dry run does not need a
target agent.
Examples
Preview a Mem0 migration without writing anything (also renders the savings report):Output
Results are written to a timestamped run directory under~/.memanto/migrate/<provider>/<timestamp>/, containing:
mapped_preview.json- the mapped Memanto payloads (always written, so a dry run is fully inspectable).migrate-report.md- the savings report (written on a dry run, or on a real run with--report).
- The savings report includes a short LLM-written narrative generated through the active agent. If no agent is active, the narrative is skipped (the rest of the report is still produced).
- Migrating into Memanto uses the same batch import as
memanto remember --batch.