Claude Code memory for project state

Claude Code is strongest when it understands the project. The problem is that long-running work has more state than any one conversation: decisions, blockers, plans, tradeoffs, and what matters next.

The problem

Conversation context helps during a session. It does not reliably preserve the operational state of a project across days, tools, branches, and restarts. You end up re-explaining why a migration was deferred, which plan is active, what is blocked, and what the agent should avoid reopening.

That is not just annoying. It changes the quality of the work. A coding agent that cannot see prior decisions will confidently revisit settled questions. A coding agent that cannot see blockers will treat stalled work as normal backlog. A coding agent that cannot see momentum will guess what to do next.

What Claude Code needs to remember

For real software work, memory should be structured around the work itself:

How Brain OS fits

Brain OS is a local-first MCP server that gives Claude Code operational state across sessions. It creates a .brain/ folder in your project and exposes typed tools like decision_log, decision_check, plan_read, focus_get, and pattern_detect.

Instead of asking Claude Code to infer project truth from old chat history, Brain OS lets the agent read the current state directly. A decision logged today can be checked tomorrow. A blocker can stay visible until it is resolved. A plan can survive a new terminal, a new branch, or a new MCP client.

Install for Claude Code

Initialize Brain OS inside the project:

Then connect it to Claude Code:

claude mcp add brain-os -- npx brain-os serve

Read the full Brain OS pitch

When this helps most

Use Brain OS when your Claude Code work spans multiple sessions.

It is most useful when projects have architectural decisions, recurring blockers, active plans, or several parallel workstreams.

Use normal conversation context for short one-off tasks.

If the task fits in one session and has no future state, you probably do not need an operational memory layer.

Next steps

Try Brain OS on one real project for a week. If you want to help shape the product, the one-week pilot is open for Claude Code and MCP users.

If you are comparing specific open-source memory tools, see Brain OS vs Basic Memory and Brain OS vs MCP server-memory.

Frequently asked questions

How do I give Claude Code persistent memory across sessions?

Install Brain OS, a local-first MCP server. Run npx brain-os init in your project, then claude mcp add brain-os -- npx brain-os serve. Brain OS creates a .brain/ folder that persists your decisions, active plan, and blockers, so Claude Code recalls full project state when you resume, no re-explaining.

Does Claude Code remember project state between sessions on its own?

No. Claude Code has no built-in persistence for project-level state like decisions, plans, or blockers. Brain OS adds it via the MCP protocol, writing structured memory to a local file that survives across sessions and even across tools like Cursor, Zed, and GitHub Copilot.

Where does Claude Code memory live with Brain OS?

In a local .brain/ folder inside your project, plain JSON files, no cloud, no database, no telemetry, no API key required for storage. Commit it to git to share the same memory with your team.