Mem0 v2.0.20
The Claude Code plugin ships on its own, Dream gets endpoints, notices stop phoning out
github.com/mem0ai/mem0 · tag v2.0.20
Mem0 v2.0.20 is out. The Claude Code plugin becomes its own integration, Dream synthesis gets documented endpoints, and open source notices stop calling a feature flag service.
The Claude Code plugin
01
The Claude Code plugin.
Plugin 0.3.0
The Claude Code plugin moves into a directory of its own
It installs as its own marketplace plugin, at version 0.3.0.
claude plugin marketplace add mem0ai/mem0 claude plugin install mem0@mem0-plugins \ --scope user --config api_key="$MEM0_API_KEY"
The Claude Code plugin now lives in its own directory and ships as version 0.3.0. You add the Mem0 plugin marketplace, install it with one command, and restart Claude Code.
Local capture
Hooks write the session to your own disk, with no model call
Capture never blocks the agent, and the sidekick's output is excluded.
- your messages, and Claude's answers
- the file paths that changed
- short test and build results
Hooks save what happened in the session to your own disk. Your messages, Claude's answers, the file paths that changed, and short test results. No model runs, and nothing blocks.
Background flush
A detached worker sends each batch after five exchanges
It keeps running after Claude Code exits, so an interrupted session still lands.
- five completed exchanges, or a large one, flushes early
- five idle minutes flush too
- ending or compacting the session flushes the rest
After every five completed exchanges, a detached background worker sends that batch to Mem0. Five idle minutes flush as well, and the worker keeps running after Claude Code exits.
Automatic recall
The next session opens with five memories already in hand
The search runs on the first prompt, before you ask for anything.
On the next session's first prompt the plugin searches by itself and hands Claude up to five relevant memories. It doesn't call a model to write that query.
What it keeps, and what it sends
02
What it keeps, and what it sends.
Two pools of memory
One add call, two pools of memory
Shared project memory never carries a user id.
Each flush splits into two pools. Shared project memory holds the repo's conventions, decisions and working commands, and everyone on the repo reads it. Personal memory holds your habits, and stays yours.
Commands and scope
You can search the past sessions yourself
Every search takes a scope, and pause, resume and remember round out the set.
/mem0:search— ask a question of earlier sessions/mem0:status— config, capture state, pending flushes/mem0:forget— delete your memories for this repo
You can search earlier sessions yourself, check what is still pending, or delete your memories for this repo. Search takes a scope: the whole repository, the current directory, or only your own preferences.
The sidekick agent
A Sonnet sidekick works in a git worktree beside you
Its changes stay in that worktree until the main session copies them over.
Corrections go back to the same sidekick, so it keeps what it learned.
The plugin also ships a Sonnet agent that runs in a separate git worktree. It investigates or implements, the main session reviews the result, and corrections go back to the same sidekick.
What leaves the machine
Complete files and tool output stay on your machine
Anything that looks like a credential is redacted first.
- sent — message blocks, answers, changed file paths
- kept local — complete files, general tool output
- hashed — repo and session ids in the usage events
Mem0 receives your messages, Claude's answers, and the paths that changed. Complete files and general tool output stay local, and values that look like credentials are redacted before anything is sent.
Beyond the editor
03
Beyond the editor.
Vercel Marketplace
Install Mem0 from the Vercel Marketplace and the key arrives with it
An account and a project are created for you, and Vercel handles the billing.
Hobby is free, Starter is $20 a month, changeable from the installation settings.
Installing Mem0 from the Vercel Marketplace creates an account and a project for you. It injects the API key and the project variables straight into your Vercel project, and Vercel handles the billing.
Dream synthesis
Dream merges memories on the way in, and synthesis is opt-in
Eight endpoints now cover the config, the runs, and the provenance.
- supersede and merge run automatically on the add path
- synthesis is forward-only: it covers memories added after you enable it
- preview reports the scope without writing anything or running a model
Dream supersedes and merges memories as they arrive. Synthesis is the opt-in half: you enable it per project, and it only covers memories added after that. A preview endpoint reports the scope without writing.
In the SDK
04
In the SDK.
Notices go static
Notices read a static config file instead of a feature-flag call
When the remote copy is unreachable, the bundled one takes over and stays quiet.
_REMOTE_CONFIG_URL = (
"https://raw.githubusercontent.com/mem0ai/mem0"
"/main/mem0/memory/oss_notices_config.json"
)
_CONFIG_TTL_SECONDS = 3600Open source notices used to ask PostHog for a feature flag. They now read a static config file, cache it for an hour, and fall back to a bundled copy that is switched off.
Smaller changes
Three smaller changes you may still walk into
RedisDBConfigrejects unknown fields with a standard Pydantic errorstrands-mem0is nowmem0-strands,dsh-mem0is nowdeepseek-plugin- the Oracle setup docs install
mem0aiand putuser_idinsidefilters
RedisDBConfig rejects unknown fields with a standard Pydantic error. The Strands and DeepSeek packages were renamed, so your imports change. And the Oracle setup docs now install the right package.
Upgrade
Mem0 v2.0.20
Published 2 September 2026
pip install -U mem0ai # 2.0.20 npm install mem0ai@latest # 3.1.8
pyproject.toml · mem0-ts/package.json
That is v2.0.20, published on September second. Upgrade mem0ai from PyPI or from npm, and update the plugin from the Mem0 marketplace.


















