Switch to Remnic in one command.
Your memory should not be trapped in the tool that captured it. Remnic ships optional importers for seven sources. Each one reads your existing memory, transforms it, and writes it into your Remnic memory directory as plain markdown files on your own disk. Your exports stay yours, and nothing has to be re-typed.
@remnic/cli; the base install never pulls them in.
Every importer supports --dry-run for a zero-write
preview, and re-running an import never creates duplicates because
the orchestrator deduplicates by content hash on ingestion.
npm install -g @remnic/cli
npm install -g @remnic/import-chatgpt Five sources, one import command
ChatGPT, Claude, Gemini, mem0, and Supermemory all flow through
the shared entrypoint remnic import --adapter <name>.
Preview first with --dry-run, then re-run without it
to commit.
ChatGPT
Package @remnic/import-chatgpt. Input: OpenAI's
data-export JSON. Saved memories import one to one; conversation
summaries are opt-in via --include-conversations.
Compare the two approaches on the comparison page.
npm install -g @remnic/import-chatgpt
remnic import --adapter chatgpt --file ~/chatgpt-export/memory.json --dry-run
remnic import --adapter chatgpt --file ~/chatgpt-export/memory.json Claude
Package @remnic/import-claude. Input: a Claude
data-export bundle (projects.json,
conversations.json, or both). Project docs and prompt
templates import one to one; conversation summaries are opt-in and
keep only human-authored turns.
npm install -g @remnic/import-claude
remnic import --adapter claude --file ~/claude-export/projects.json --dry-run
remnic import --adapter claude --file ~/claude-export/projects.json Gemini
Package @remnic/import-gemini. Input: Google Takeout's
My Activity.json from the Gemini Apps section. Takeout
exports only your prompts, so each prompt becomes one memory;
assistant responses are not part of any Takeout.
npm install -g @remnic/import-gemini
remnic import --adapter gemini --file "~/Takeout/My Activity/Gemini Apps/My Activity.json" --dry-run
remnic import --adapter gemini --file "~/Takeout/My Activity/Gemini Apps/My Activity.json" mem0
Package @remnic/import-mem0. API-first: it reads
MEM0_API_KEY (and optional MEM0_BASE_URL
for self-hosted) and walks /v1/memories/ across
pagination, honoring --rate-limit. It also accepts an
offline JSON dump via --file. See how Remnic and mem0
differ on the Remnic vs mem0 teardown.
npm install -g @remnic/import-mem0
export MEM0_API_KEY=...
remnic import --adapter mem0 --dry-run
remnic import --adapter mem0 Supermemory
Package @remnic/import-supermemory. Input: a JSON
export from the Supermemory memories list endpoint. It reads
content first and falls back to summary
or title. See the side-by-side on the
Remnic vs Supermemory teardown.
npm install -g @remnic/import-supermemory
remnic import --adapter supermemory --file ./supermemory-memories.json --dry-run
remnic import --adapter supermemory --file ./supermemory-memories.json Two sources with their own command
lossless-claw and WeClone carry different data models, so they ship
as dedicated commands rather than --adapter sources.
lossless-claw
Package @remnic/import-lossless-claw. Input: a
lossless-claw LCM SQLite database. This is a database-to-database
migration of session history into Remnic's own LCM store, so it
runs as its own top-level command.
npm install -g @remnic/import-lossless-claw
remnic import-lossless-claw --src ~/.openclaw/lcm.db --dry-run
remnic import-lossless-claw --src ~/.openclaw/lcm.db WeClone
Package @remnic/import-weclone. Input: a
WeClone-preprocessed chat export (Telegram, WhatsApp, Discord,
Slack). Run WeClone's preprocessing first so PII filtering happens
upstream, then feed the JSON to the bulk-import pipeline. This one
runs through the OpenClaw gateway command group, which still uses
the older engram name (see the rename note).
npm install -g @remnic/import-weclone
openclaw engram bulk-import --source weclone --file ./preprocessed_telegram.json --platform telegram --dry-run
openclaw engram bulk-import --source weclone --file ./preprocessed_telegram.json --platform telegram What happens to your files
Parsing, transform, and storage are always local to your machine.
Imported memories then run through Remnic's normal extraction
pipeline. If your orchestrator is configured to use a remote model
provider for extraction, imported content is transmitted to that
provider the same way live-session content is. To keep imports
fully local, configure a local extraction model, or use
--dry-run, which never writes or extracts.