← BlogUpdated September 14, 2026

How to give Claude persistent memory across sessions

Claude's chat memory has plan and Cowork boundaries. vtriv keeps portable, authored Markdown context and task state for shared MCP access.


Claude saves memory as individual topics from your chats. On Free, Pro, and Max plans, it is on by default in Claude’s web, desktop, and mobile apps. Team and Enterprise owners can enable it for their organizations. Memory is shared between Chat and Cowork when Cowork runs in the cloud; Cowork sessions running locally on your computer don’t use it. Anthropic’s memory guide has the details.

Memory imports are available on Free, Pro, Max, and Team plans on the web and Claude Desktop. Anthropic calls the feature experimental in its import and export guide.

That’s useful for continuity in Claude. vtriv keeps authored, portable Markdown and task state that Claude Code and other MCP clients can share. Connect the layer once. A new connected session can read the same profile, decisions, and project context, then write back to the same place.

Why the built-in options run out

Claude’s memory keeps individual topics from the chats it has seen, and you can ask it to remember something directly. You can review, change, or remove those topics. On Team and Enterprise plans, an owner decides whether the feature is available.

The record stays inside Claude’s products. A local Cowork session does not use it. Memory import can bring in useful context, but it does not create an authored work record that Claude Code and other clients can read and update together.

An authored context layer holds the decisions, instructions, and source material you write deliberately in Markdown. It remains readable and portable as your tools change.

If you use more than one assistant, a separate memory feature in each product gives each one its own view of your work. A portable alternative gives compatible clients one source instead.

The other common approach is a context doc you paste in. It drifts out of date, lives on one laptop, and leaves you doing the copying every time.

A context layer is an authored store: structured, plain Markdown, and reachable by compatible MCP clients. You choose what it records instead of deriving it from chat history. What’s worth keeping for your AI covers what belongs in one; this post is about wiring it up.

Connect the layer

vtriv’s MCP endpoint is https://mcp.vtriv.com/mcp. It speaks Streamable HTTP with OAuth 2.1, so a supported client discovers the sign-in flow and opens a browser. There are no API keys to paste into a config file.

Claude Code:

claude mcp add --transport http vtriv https://mcp.vtriv.com/mcp

Claude on the web, Claude Desktop, or Cowork: Customize → Connectors → + → Add custom connector, then use that URL. Cursor: Customize → MCPs → Add New MCP Server, choose Streamable HTTP, then use the same URL. Codex CLI: codex mcp add vtriv --url https://mcp.vtriv.com/mcp.

One connection covers your profile, skills, knowledge, and every project. You don’t wire up a server per repo or copy the same instructions into a dozen CLAUDE.md files. What to keep in CLAUDE.md and what to move out covers where the line falls.

Write the thing Claude should always know

Start with your profile. It’s a single Markdown document that vtriv_context returns in a fresh connected session. It’s the most useful document in the layer. Ask Claude to write it:

Save a profile for me: I’m a backend engineer working mostly in Go and Postgres. I prefer standard library over frameworks, table-driven tests, and short commit messages in imperative mood. I don’t want code comments explaining obvious lines.

Claude calls vtriv_create_document and it’s stored. The next connected session, in any client, can retrieve the same profile. You stop opening chats by re-introducing yourself.

Then knowledge: the durable material your work leans on. vtriv_write takes a path in a markdown tree, so a design decision goes to something like topic/auth-design.md and stays findable. Leave the path off entirely and it lands in inbox/, searchable immediately, filed later or never. Capture is supposed to be free; filing is the part you can defer.

Skills are the third piece: packaged how-tos Claude loads when a task calls for them. The way you like a release cut, your house style for an API, the checklist for a migration. Global skills are available to every connected assistant; context skills stay with their workspace.

Watch it come back

The payoff shows up on the next session, and it’s worth doing deliberately once so you can see it happen.

Open a fresh conversation and ask Claude to call vtriv_context. That one call returns who you are, what skills exist, and what you’re working on right now. It’s the orientation read. It replaces your paste.

Then ask about something specific. vtriv_search runs hybrid semantic and keyword search across knowledge, projects, tasks, notes, and skills in one pass. If you want everything relevant to a topic assembled rather than a list of hits, vtriv_pack fetches and bundles it inside a token budget, each section labeled with the source it came from. That’s usually the better call when you’re starting real work: one tool call, working context, no fetch loop.

The test is simple. Ask the new session a question that only last week’s session could answer. If it brings back the relevant record, the portable context is working.

Memory with task records

Once your assistant can read the layer, its project task records can sit beside the context it needs to understand them.

Projects in vtriv carry tasks. vtriv_assignees lists valid human and agent assignees by workspace, and vtriv_tasks filters task records by their stored fields. Assignment, status, dependencies, comments, and custom fields are state, not a command to run. An external runner decides when to select and execute work, then reads and updates vtriv with progress and results. In our daily use, an external runner read the task for this post and wrote its result back to it.

Claude’s memory maintains continuity inside Claude. A context layer keeps the Markdown record and the work around it together: context, projects, and task records.

That pattern becomes more valuable when an external runner starts separate sessions. Persistent memory for long-running AI agents shows the workflow: read the record, select work, report the result, save the lesson, and begin later from the updated record.

A few things that make it stick

Keep it lean. A layer full of chat transcripts and every half-formed thought searches badly, and the assistant grabs the wrong document. Save what you’d groan at re-explaining; skip what you’d never look up again.

Write it as prose, not bullets-of-keywords. It’s read by a language model, and models read prose better than they read outlines.

Let the assistant maintain it. The point of write access is that you’re not the only one keeping it current. Ask it to note a decision at the end of a session and the note is there when you need it, in a place you can open and edit yourself.

Don’t wait until it’s complete. A profile and three knowledge docs already beat starting from zero, which is the cost of starting over you’re paying now.

The free tier holds 50 documents, 25 skills, and unlimited projects and tasks, enough to find out whether this changes how you work. Get started.