Why memory is the whole game
Every OpenClaw session starts stateless. The assistant does not remember your name, your projects, your preferences, or the decision you made three days ago unless that information is in a file it reads at startup.
This means memory is not a nice-to-have. It is the infrastructure that determines whether OpenClaw is a novelty or a tool. Without it, you re-explain context every session. Outputs stay generic. The system never gets better at your specific situation.
With a well-designed memory system, the opposite happens. Every session the assistant already knows your priorities, your current projects, and the decisions you have made. It can reference the context of a conversation from last week. Morning briefs are shaped around what is actually true about your life right now. The system gets more useful over time because context accumulates rather than evaporating.
How OpenClaw memory actually works
OpenClaw memory is file-based, not conversation-based. The assistant does not maintain a running transcript across sessions. Instead, at the start of each session it reads the memory files that are configured in the workspace — and those files become the context it operates from.
This design has important implications:
The three-tier memory structure
The most reliable OpenClaw memory design uses three tiers, each with a distinct purpose:
SOUL.md and USER.md. Loaded every session. Define who the assistant is and who it is helping. Set the operating rules and tone. These change rarely.
MEMORY.md. Loaded in main sessions. Curated distillation of decisions, preferences, and durable context. The second brain proper. Updated weekly.
memory/YYYY-MM-DD.md (daily notes) and projects/ files. Raw intake and active project context. Loaded as needed. High turnover.
Each tier has a different update frequency and a different job. Identity files are set-and-mostly-forget. MEMORY.md is curated weekly. Daily notes are written during work and reviewed regularly. Project files are updated as projects evolve.
The core memory files explained
SOUL.md — who the assistant is
SOUL.md defines the assistant's identity, operating rules, and persona. It answers: what kind of assistant is this, how should it behave, what are its boundaries, and what tone should it use?
A minimal SOUL.md might include:
SOUL.md is loaded every session. Keep it concise — under 500 words. Anything longer inflates the context window without adding proportional value.
USER.md — who the assistant is helping
USER.md holds the context about the person or team the assistant works with. It answers: who are you helping, what do they care about, what are their preferences and working style?
Good USER.md content:
MEMORY.md — curated long-term memory
MEMORY.md is the most valuable memory file and the one most people under-maintain. It holds the distilled context that should survive across weeks and months: key decisions, persistent preferences, product truth, and lessons learned.
What belongs in MEMORY.md:
What does not belong in MEMORY.md:
memory/YYYY-MM-DD.md — daily notes
Daily notes are the raw intake layer. Write to them during sessions to capture what happened, what was decided, what is blocked, and what comes next.
A daily note entry might look like:
[10:30] Decided to delay the launch by one week — Stripe checkout needs testing. Next action: run smoke test Thursday.
[14:00] Wrote first draft of the Mac mini vs VPS comparison article. Saved to projects/openclaw-guide/blog/. Need CTA section.
Open: email sequence for post-purchase, Operator Stack Stripe link.
Daily notes are reviewed periodically and the durable parts are promoted to MEMORY.md. The raw notes themselves can be archived or deleted after a week or two — they are not meant to be permanent.
projects/ — active project memory
Project files hold context for specific active projects. They answer: what is the current state of this project, what decisions have been made, what are the next steps?
Keep project files lean. A useful project file has:
Project files are loaded contextually — when working on a specific project — not in every session. This keeps the default context window lean while still making rich project context available when needed.
The memory curation loop
The memory system only compounds if it is maintained. The curation loop is the practice that keeps it working:
Write meaningful events, decisions, and next steps into the daily note file as work happens. Do not rely on memory — write it down.
Read through the week's daily notes. Identify anything durable. Ask: will I want this context in three months? If yes, promote it.
Move durable context from daily notes to MEMORY.md. Keep the promoted entry concise — a sentence or two plus the key reasoning.
Read MEMORY.md in full. Remove anything that is no longer accurate. Update anything that has evolved. Remove the obvious clutter.
The weekly review is the most important practice. Without it, daily notes pile up unreviewed and MEMORY.md never gets updated. With it, the memory system stays accurate and the assistant stays grounded in current reality.
Setting up the memory system from scratch
If you are starting fresh, here is the practical sequence:
The whole setup takes about 30–45 minutes for the initial files. The system becomes noticeably better within a week if the daily notes are being written and reviewed.
What the memory system enables
When the memory system is working well, the practical benefits appear quickly:
Common memory mistakes
Read this next
Want a clean memory scaffold without inventing the structure from scratch?
The RoloClaw starter system includes the memory file templates, curation rules, and workflow defaults that make the memory system work from day one instead of requiring months of trial and error.