Mem0 mem0-cli
install
source · Clone the upstream repo
git clone https://github.com/mem0ai/mem0
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mem0ai/mem0 "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/mem0-cli" ~/.claude/skills/mem0ai-mem0-mem0-cli && rm -rf "$T"
manifest:
skills/mem0-cli/SKILL.mdsource content
Mem0 CLI
The official command-line interface for the Mem0 memory platform. Add, search, list, update, and delete memories from the terminal -- for developers, AI agents, and CI/CD pipelines.
Install
Node.js (npm):
npm install -g @mem0/cli
Python (pip):
pip install mem0-cli
Both packages install a
mem0 binary with identical commands, options, and output formats.
Setup
Interactive wizard:
mem0 init
Or set the environment variable directly:
export MEM0_API_KEY="m0-xxx"
Get an API key at: https://app.mem0.ai/dashboard/api-keys
Quick Reference
Add a memory
mem0 add "I prefer dark mode" --user-id alice
Search memories
mem0 search "preferences" --user-id alice
List all memories for a user
mem0 list --user-id alice
Get a specific memory
mem0 get <memory-id>
Update a memory
mem0 update <memory-id> "new text"
Delete a single memory
mem0 delete <memory-id>
Delete all memories for a user
mem0 delete --all --user-id alice --force
Agent / JSON Mode
Use
--json or --agent to get structured output suitable for LLM consumption. Every command wraps its response in a standard envelope:
{ "status": "success", "command": "search", "duration_ms": 245, "scope": { "user_id": "alice" }, "count": 3, "error": null, "data": [ { "id": "mem-abc", "memory": "User prefers dark mode", "score": 0.92 } ] }
On error:
{ "status": "error", "command": "search", "error": "Authentication failed. Your API key may be invalid or expired.", "data": null }
The
--agent flag is an alias for --json. Both write spinners and progress to stderr so stdout is always clean, parseable JSON.
Node and Python Parity
Both the Node.js (
@mem0/cli) and Python (mem0-cli) CLIs are implemented from the same specification (cli-spec.json). They share:
- Identical command names, arguments, and flags
- Identical output formats (text, json, table, quiet)
- Identical entity ID resolution, graph tri-state, filter building
- Identical error messages and exit codes
Choose whichever runtime you already have installed. The behavior is the same.
Common Edge Cases
- Async processing delay: After
, memories process asynchronously. Wait 2-3 seconds before searching for newly added content. Usemem0 add
to check processing status.mem0 event list
vs--all
delete modes:--entity
deletes all memories for user alice.mem0 delete --all -u alice
deletes the entity itself AND all its memories (cascade). These are mutually exclusive modes.mem0 delete --entity -u alice- Entity ID resolution: If you pass any explicit scope flag (e.g.
), the CLI uses ONLY the explicit IDs and ignores config defaults. If no scope flags are given, all configured defaults apply.--user-id - Stdin detection: When no text argument is provided and input is piped (not a TTY), the CLI reads from stdin. Works with
,add
, andsearch
.update
References
Load these on demand for deeper detail:
| Topic | File |
|---|---|
| Command reference (all commands, flags, options, examples) | references/command-reference.md |
| Configuration (config file, env vars, precedence, init wizard) | references/configuration.md |
| Workflows (piping, scripting, CI/CD, agent mode recipes) | references/workflows.md |
Related Mem0 Skills
| Skill | When to use | Link |
|---|---|---|
| mem0 | Python/TypeScript SDK, REST API, framework integrations | local / GitHub |
| mem0-vercel-ai-sdk | Vercel AI SDK provider with automatic memory | local / GitHub |