A "Memory Bank" is how Windsurf works around the fact that it forgets: .windsurf/rules and Cascade Memories, read back each session to reconstruct context. It's a good pattern — but a file you maintain by hand and reload in full isn't the same as memory that recalls the right fact on its own. This guide covers how the Memory Bank works in Windsurf, where it breaks, and how to add a real memory layer on top. New to the idea? Start with the complete guide to persistent memory for AI.
How the Memory Bank works in Windsurf today
Windsurf gives Cascade two memory-bank-style features: .windsurf/rules files you author, and Memories that Cascade generates as it works. Together they help Cascade carry context through long autonomous flows — but the rules are static, and the Memories are tied to the local workspace, so the accumulated understanding doesn't travel.
Where the file-based Memory Bank breaks
- Cascade shines at long autonomous flows, which makes forgetting between them sting more — the plan and reasoning behind yesterday's refactor aren't there today.
- Auto-generated Memories are local to the machine and workspace; switch computers or start a fresh workspace and they're gone.
- Static rules can't hold decisions made mid-flow — "we're dropping the legacy adapter after the migration" lives in no file yet.
- No recall by meaning: Cascade can't fetch the one relevant past decision at the moment it matters.
The upgrade: a memory layer that recalls by meaning
Before: you finish a big Cascade session, come back tomorrow, and spend the first ten minutes re-establishing where you were. After: Cascade recalls the plan, the decisions, and the open threads by meaning — the second session starts three steps ahead of the first, on any machine. That's the difference between a static Memory Bank and a real memory layer for AI — a store outside the model that keeps facts and decisions, then surfaces only the relevant ones by meaning.
How to add persistent memory to Windsurf
- Add the Kit for AI MCP server in Windsurf's MCP configuration with your API key.
- Cascade gets remember and recall as tools and uses them during long tasks — recall to resume, remember to log durable decisions.
- Use one namespace per project so a monorepo's context doesn't bleed into a side project.
- Keep .windsurf/rules for static conventions; let the memory layer hold everything that evolves.
You don't have to choose — do both
Keep the Memory Bank for what it's good at: short working notes and static conventions a human reads too. Add persistent memory for the durable, evolving, cross-session recall the files handle badly. The files stay small; the memory does the remembering. It's also worth knowing that memory and RAG are different jobs — memory persists your decisions, retrieval grounds answers in documents.
FAQ
Does Windsurf have a built-in Memory Bank?
Windsurf uses .windsurf/rules and Cascade Memories — static files that steer it and give it project context. That's a Memory Bank in the file sense, but it isn't durable, semantic memory: it's maintained by hand, loaded in full each session, and scoped to one repo and machine. A memory layer adds recall by meaning, isolated per project, that follows you across tools.
How do I give Windsurf persistent memory?
Add the Kit for AI MCP server to Windsurf with an API key — remember and recall become tools it calls on its own — or use the REST API and SDK where MCP isn't available. It takes a couple of minutes, and the same memory is shared with every other tool you connect.
Related guides
Go deeper: persistent memory for Windsurf · share one memory across AI models — or read the pillar on the AI Memory Bank pattern and the guide to persistent memory for AI.
Add real memory to Windsurf in minutes — Start free, drop in the MCP server with your API key, and remember/recall become tools it calls on its own.