You told Claude Desktop that you use pnpm, that tests go in Vitest, and that you want short answers without a summary at the end. Then you opened Cursor and typed the same three lines again. A week later you changed your mind about the summary and had to change it in two places.
The short answer: keep them in a place both tools can read. Each tool's own settings apply only inside that tool, but both speak MCP, so one memory server connected to each as the same account, plus a one-time instruction in each to check it before answering, leaves one copy to change. Below is where each tool keeps preferences today, why a one-time copy goes stale, and a two-minute check with a control.
Disclosure: I work on Mnemoverse, one of the memory layers that can sit between these two tools.
Claude Desktop keeps preferences for the Claude apps
Anthropic documents several places; these three are where a preference like yours ends up.
Instructions for Claude. "Instructions are account-wide settings that help Claude understand your general instructions that Claude should consider in responses." You set them once under Settings, and they follow your account across the Claude apps.
Project instructions. These "only apply to chats within that project", which is what you want for one codebase's conventions.
Memory. Claude can "remember context from your chats and carry it into new conversations". It is "on by default for Free, Pro, and Max plans on the web, Claude Desktop, and Claude Mobile", and "Each project has its own separate memory space".
All three apply inside Claude's own apps, and none of them is among the rule types Cursor's documentation says it reads.
Cursor keeps preferences for Cursor
Cursor's rules page gives the reason rules exist, under "How rules work": "Large language models don't retain memory between completions. Rules provide persistent, reusable context at the prompt level."
The kind that matches a personal preference is the User Rule. "User Rules are global preferences defined in Customize → Rules that apply across all projects. They are used by Agent (Chat) and are perfect for setting preferred communication style or coding conventions". The same page calls them "Global to your Cursor environment."
Project Rules in .cursor/rules and an AGENTS.md at the repository root travel with the code, so a teammate who clones the repo gets them. That solves the codebase half. It does not reach a Claude Desktop chat: none of the Anthropic pages above says a chat reads .cursor/rules or AGENTS.md.
What Anthropic offers for moving it
Anthropic documents a transfer and frames it as a move: it lets you "import memories from other AI providers into Claude, or export your Claude memory for backup or migration", and the prompt it recommends begins "I'm moving to another service and need to export my data". The flow is a prompt you run in the other assistant, asking it to list every memory it holds, including "Instructions I've given you about how to respond (tone, format, style, 'always do X', 'never do Y')", and then a text box in Claude where you paste the result and click "Add to memory".
The other direction has the same shape: Anthropic suggests asking Claude to "Write out your memories of me verbatim, exactly as they appear in your memory" and pasting the result, which for Cursor means into a User Rule.
Either way it is a one-time copy. The next preference you change is back to two places. The retyping has been given a better interface, not removed.
The one store both tools can reach
Both Claude Desktop and Cursor speak MCP. So there is a place neither of them owns and both can call: a memory server connected to each as the same account. A preference written from Cursor is a record in that store, and a new Claude Desktop chat can read it, because the store is the same one.
Two things have to be true, and they are worth checking rather than assuming.
Both tools are connected as the same account. When the memory belongs to an account on the server, two connections under two accounts are two memories that happen to share a name.
Each tool is told to read before it answers. A connected server does nothing until the model calls it. That instruction is typed once per tool: in Claude Desktop it goes into Instructions for Claude, in Cursor into a rule, either a User Rule for every project or a rule file in the repository. After that, a preference is written once and both tools read it; changing it is one more write, and both tools see that too.
How that looks with Mnemoverse
Claude Desktop. In Anthropic's current steps it is Customize > Connectors, then "+" and "Add custom connector": paste https://mcp.mnemoverse.com/mcp and complete the browser sign-in on first use. There is no config file and no key to paste. Anthropic lists custom connectors on "Free, Pro, Max, Team, and Enterprise plans", with one custom connector on Free; on Team and Enterprise an owner adds it first.
Cursor. The Add to Cursor button on our Cursor page adds the same hosted server to ~/.cursor/mcp.json. The link carries only the server address, no key. Then Cursor Settings → Tools & MCPs → Connect, and you approve in the browser.
Signed in as the same account, the two tools share one memory. Our Cursor page puts it in one sentence: "The memory belongs to the account, not to a tool or a key, so a rule you store in Cursor can be recalled in Claude Code or ChatGPT without re-explaining." Claude Desktop is one more client on the same account.
For that instruction, our agent memory page has a block you paste once into Instructions for Claude and once into Cursor, where our docs show it as .cursor/rules/mnemoverse.mdc with alwaysApply: true. The Claude setting is per account, so each person on a team sets it once for themselves; the Cursor rule file can be committed with the repository.
Check it in two minutes, with a control
- Write one preference in Cursor. Ask the agent to remember that you use pnpm and never npm.
-
Open a new chat in Claude Desktop and ask which package manager you use. The answer should come from a Mnemoverse
memory_readcall you can see in the chat. Claude's own memory and its past-chat search can answer too, the second one also as a visible tool call, so check the tool name. - Control. Open one more new chat, switch Mnemoverse off for it under + > Connectors, and ask the same question. It should not know. If it still says pnpm, Claude's own memory or instructions hold it, and step 2 proved nothing: repeat steps 1 and 2 with a preference you have never given Claude.
-
Change it once. Tell Cursor you switched from pnpm to Bun. Ask Claude Desktop again: Bun, again from
memory_read. One edit, both tools.
If step 2 comes back empty, look at the tool call. No memory_read at all: check that Mnemoverse is on for that chat under + > Connectors and that the instruction is saved. A memory_read that returns nothing: the two tools are signed in as different accounts (troubleshooting).
The full review checks six memory services against the same mechanism and names the ways sharing quietly stops. Which of your preferences do you currently keep in more than one tool?
Setup for Claude Desktop and Cursor is in our docs, and the MCP server package on npm is open source (MIT): github.com/mnemoverse/mcp-memory-server.
Top comments (0)