RenorBlog

Give Claude Code memory across sessions

What CLAUDE.md and auto memory keep, where they stop, and how to add Renor over MCP so a decision survives a new chat and reaches Codex and Cursor too.

Every Claude Code session begins with a fresh context window. Anthropic's memory docs say so plainly. What you settled yesterday, such as which package manager, which test command, or why you dropped an approach, is gone unless something writes it down and loads it again.

This guide covers three layers:

  1. What Claude Code already keeps (CLAUDE.md and auto memory).
  2. Where those stop when you use Codex or Cursor on the same projects.
  3. How to add Renor over MCP so one decision is available in the next session and in other agents.

The setup commands below are the ones in Renor's quickstart as of October 28, 2026.

What Claude Code remembers on its own

Claude Code has two built-in systems. Both load at the start of a conversation. Claude treats them as context, not enforced configuration (Anthropic).

CLAUDE.md / AGENTS.mdAuto memory
Who writes itYouClaude
What it holdsRules and project instructionsLearnings and patterns
ScopeProject, user, or orgPer git repository, shared across worktrees
LoadedEvery sessionEvery session (first 200 lines or 25KB)

Details from Anthropic's docs:

Where built-in memory stops

If you also run Codex or Cursor on the same project, each tool keeps its own store. A decision saved only in Claude Code's auto memory is invisible to the others.

Add Renor: one MCP memory across sessions and agents

Renor is one memory for all your coding agents over MCP. Memories are plain Markdown. The engine is open source under Apache-2.0 at github.com/renorai/renor-engine. Hosted Renor has a free plan and Pro at US$10 a month (pricing).

Before work, a connected agent calls get_context. To save a decision, it calls remember. Every MCP client you sign in to, including Claude Code, Codex, Cursor and OpenCode, reads and writes the same workspace. When a fact changes under the same subject, predicate and scope, the new value answers and the old one stays in history (how it works).

Hosted setup

You need Node 18 or newer and a Renor account: app.renor.cloud/signup.

sh
npx renor setup

It detects the supported apps on your machine, asks you to confirm, opens a browser sign-in for each one that can sign in from the terminal, installs the Renor skill (which tells the agent when to recall and when to save), and lists any leftover step. For Claude Code that is /mcp, then renor, then Authenticate.

Restart Claude Code, then run the first-memory check at the end of the setup prompt (npx renor setup): save one fact in one session, open a new session, and ask for it back.

Claude Code by hand

If you prefer not to run the setup command:

sh
claude mcp add --transport http --scope user renor https://mcp.renor.cloud/mcp

If renor already exists, remove it first (claude mcp remove renor) and add it again. Restart, run /mcp, choose renor, Authenticate.

Self-hosted, local Markdown, no account

You need Node 22. Notes stay as Markdown on your machine.

sh
claude mcp add --scope user renor-local -- npx -y renor-engine mcp

The first start downloads about 130 MB and takes about 15 seconds, so the first connection can fail; restart the agent if it does.

Make recall a habit

Renor does not record chats. Nothing is saved unless an agent or you asks. Add a line like this to the project's CLAUDE.md or AGENTS.md:

Before starting a task or when anything is unclear, ask Renor (get_context) what was already decided; save new decisions with remember.

Do not store credentials or secrets as memories.

The same memory in Codex and Cursor

Once the hosted account is connected, the other tools use the same address, https://mcp.renor.cloud/mcp.

sh
codex mcp add renor --url https://mcp.renor.cloud/mcp

For Cursor, merge this into ~/.cursor/mcp.json, keeping your existing servers:

json
{
  "mcpServers": {
    "renor": { "url": "https://mcp.renor.cloud/mcp" }
  }
}

Restart Cursor, find renor under its MCP settings and sign in. The Cursor desktop app uses port 8787 for the sign-in callback, so stop anything else holding that port while you sign in.

Save a fact in Claude Code, open Codex or Cursor, and ask for it. That is the cross-session, cross-agent check.

CLAUDE.md and Renor: use both

JobPrefer
Stable team rules ("always run tests before commit")CLAUDE.md / AGENTS.md
Preferences Claude learns while you correct itAuto memory
Decisions that must survive a new chat and reach Codex and CursorRenor (or another MCP memory server)
An exportable Markdown ledger with history when a fact changesRenor

CLAUDE.md is for rules you write once. Renor is for decisions made during the work that nobody stops to paste into a file, and for sharing them across agents.

Limits to know

Start

  1. Create a free account.
  2. Run npx renor setup (or the Claude Code command above).
  3. Save one decision, open a new session, ask for it.
  4. Optionally connect Codex or Cursor to the same address.

FAQ

Does Claude Code have persistent memory?

Yes. Auto memory is on by default in local sessions, per repository, and CLAUDE.md also loads every session.

Why does it still feel like it forgets?

Only CLAUDE.md and the first 200 lines or 25KB of auto memory load at the start. Decisions that were never written down, or that live in another tool's store, are not there.

Is Renor free?

The free plan has 3,000 memory calls a month and needs no card. Pro is US$10 a month. See pricing.

Does Renor replace CLAUDE.md?

No. Keep CLAUDE.md for rules. Use Renor for decisions and cross-agent recall.