Adding memory to Cherry Studio

a desktop app running Claude Code — and one snapshot per stream chunk

Cherry Studio runs Claude Code sessions from a desktop app, and it writes them as ordinary Claude Code transcripts under its own data directory. So the sessions are readable — but they are the app's, not the CLI's, and deja reports them as Cherry Studio rather than folding them into Claude Code: a reader should see which app the work happened in.

Reading what is already there

deja index

One difference from a stock Claude Code store matters for text rather than for tokens. Cherry Studio appends the same API call three or four times as the response streams — a new uuid each time, the same request id, the text growing. Read plainly that turns one reply into three messages, each a prefix of the next, so a recall can quote half a sentence and deja show prints the answer twice before finishing it. deja collapses the run and keeps the whole answer.

Getting recall into the app

deja install cherrystudio

Cherry Studio keeps its MCP servers in its own SQLite store, seeded from a built-in list, so there is no config file to write and writing into a running app's database is not an installer's job. What the app has is import: Settings → MCP → Import from JSON. The command writes that file — <config>/deja/cherrystudio-mcp.json — and says where to point it. The .mcpb bundle from the latest release is the same server through the app's other import path.

Once imported, the agent has one tool with a mode: search past sessions, read one in full, see a file's history, ask what fixed an error, ask how a command is really run here, get the commands and files this project's past sessions worked with, store a decision.

Why nothing arrives on its own

There is no hook surface a third party can use: the agent sessions run inside the Electron app, and the extension points are the MCP server list and its import paths. So recall is something the model reaches for, and the registry entry records auto-recall as impossible rather than as work someone could pick up.

The part that is not about this harness

The index covers every agent's transcripts on the machine — thirty-four of them, each in its own format — so a session you ran in the app answers a question asked in Claude Code or Cursor later. Nothing here writes memories, so there is nothing to hallucinate into your history; indexing and search are local, and credentials are stripped as the index is built (privacy).

Getting started · Switching between agents · The Cherry Studio session format

Found this useful? Star deja-vu on GitHub.