← Back to blog
Memory14 min readUpdated March 2026

OpenClaw memory system (2026): how to make the assistant remember the right things

Memory is the single layer that makes OpenClaw compound over time instead of reset daily. Without it, every session starts from zero. With a well-designed memory system, the assistant gets more useful every week rather than staying flat. This article covers the full setup — files, structure, what goes where, and the curation loop that keeps it working.

Quick answer

OpenClaw memory is file-based. The assistant reads SOUL.md, USER.md, MEMORY.md, and daily notes at session start. Build these four files first, then add project files as needed. The curation loop — write daily notes, review weekly, promote durable context to MEMORY.md — is what makes the system compound rather than decay.

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.

Memory is what turns OpenClaw from a smart chat window into an AI operator. Without it, you have a model. With it, you have a system.

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:

What is in the files shapes every response. Write good memory files and the outputs reflect your real situation. Leave them empty or stale and the assistant operates generically.
Memory is curated, not automatic. The system does not capture everything by default. You (or the assistant) write to the memory files intentionally.
Memory compounds when maintained. A memory file that is actively updated becomes more valuable over time. A file that is created once and never touched drifts into irrelevance.
Context window size matters. Loading massive memory files into every session is expensive and can actually degrade response quality if irrelevant content crowds out relevant context. Lean, curated memory files outperform sprawling ones.

The three-tier memory structure

The most reliable OpenClaw memory design uses three tiers, each with a distinct purpose:

Tier 1 — Identity files

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.

Tier 2 — Long-term memory

MEMORY.md. Loaded in main sessions. Curated distillation of decisions, preferences, and durable context. The second brain proper. Updated weekly.

Tier 3 — Working memory

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:

The assistant's name and personality description
Core operating principles (be resourceful before asking, have opinions, skip filler language)
Explicit instructions for things it should always or never do
Notes on how memory files work and how to use them

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:

Name, pronouns, and what to call them
Core interests and areas of focus
Working style preferences (level of directness, response length, format preferences)
Current projects and priorities at a high level
What they want the assistant to do proactively vs wait to be asked

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:

Key decisions and reasoning: "Chose Mac mini over VPS because of local model speed and privacy requirements. Revisit if team access becomes needed."
Persistent preferences: "Prefers shorter responses. Dislikes bullet-point overload. Wants recommendations, not just options."
Business or product truth: product name, offer, positioning, audience, pricing — the facts that should stay consistent across all outputs.
Recurring context: "Always check the knowledge/PRIORITIES.md file before suggesting task priorities."
Lessons learned: "Tried full-workspace context dumps — degraded response quality. Use targeted context instead."

What does not belong in MEMORY.md:

Raw daily notes or meeting transcripts
Temporary task states ("currently working on X" — this belongs in daily notes)
Secrets, credentials, or sensitive personal information
Other people's private information
Anything that will clearly be wrong next month

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:

Daily note format (example)

[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:

Current status (what is done, in progress, blocked)
Key decisions made and why
Next actions
Links to relevant assets (PDFs, site files, specific docs)

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:

Daily — capture

Write meaningful events, decisions, and next steps into the daily note file as work happens. Do not rely on memory — write it down.

Weekly — review

Read through the week's daily notes. Identify anything durable. Ask: will I want this context in three months? If yes, promote it.

Weekly — promote

Move durable context from daily notes to MEMORY.md. Keep the promoted entry concise — a sentence or two plus the key reasoning.

Monthly — prune

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.

The curation loop is boring. It is also the entire reason the system gets more useful over time instead of degrading. Do it weekly even when it feels optional.

Setting up the memory system from scratch

If you are starting fresh, here is the practical sequence:

Step 1 — Create SOUL.md: Write who the assistant is, its operating rules, and how it should use memory. Keep it under 500 words. This is the file that shapes every session.
Step 2 — Create USER.md: Write who you are, what you care about, your working style, and what you want the assistant to do proactively. Update it when your situation changes significantly.
Step 3 — Create MEMORY.md: Start it with the most important context you already have — key decisions, persistent preferences, product truth. A starter file of 200–400 words is better than a perfect file you never write.
Step 4 — Create the memory/ folder: Set up the daily notes structure. Name files by date (memory/2026-03-28.md). The assistant can write to these automatically during sessions if configured to do so.
Step 5 — Create the projects/ folder: Add a subfolder for each active project with a simple README tracking status, decisions, and next steps.
Step 6 — Configure the session startup: Tell the assistant which files to read at session start. At minimum: SOUL.md, USER.md, MEMORY.md, and today's daily note.
Step 7 — Run for a week, then review: After a week, look at what the daily notes captured. Identify what is worth promoting to MEMORY.md. Update MEMORY.md. This is the first curation loop.

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:

Morning briefs with real context: the brief knows your current projects and priorities because MEMORY.md and the daily note tell it what is actually happening. Not generic advice — your specific situation.
Fewer re-explanations: the assistant already knows your product name, your offer, your positioning, and the decisions you have made. You stop repeating yourself.
Consistent outputs over time: brand voice, product truth, and operating rules stay consistent because they are in SOUL.md and MEMORY.md, not in your head hoping the assistant remembered.
Compounding context: each week of good memory maintenance makes the assistant more accurate about your situation. After a month, it operates at a noticeably higher contextual level than it did at day one.
Reliable workflow outputs: recurring workflows like weekly reviews and research briefs produce better outputs because they are shaped by memory context rather than operating generically.

Common memory mistakes

Saving everything to MEMORY.md: this turns the long-term memory file into an unnavigable junk drawer. Retrieval quality drops, context windows bloat, and the assistant loses the signal in the noise. Be selective — MEMORY.md should contain only what is durable and worth knowing every session.
Never writing daily notes: without daily notes, there is nothing to review and promote. The memory system stays static and drifts out of alignment with current reality within weeks.
Mixing layers: putting temporary task states in MEMORY.md and durable decisions in daily notes confuses both the system and anyone maintaining it. Keep each layer doing its specific job.
Ignoring the curation loop: daily notes that never get reviewed pile up and contribute nothing to MEMORY.md. The curation loop is not optional — it is the mechanism that makes the memory compound.
Loading all project files in every session: loading five large project files into every session bloats the context window and degrades response quality. Load project context only when working on that specific project.
Putting sensitive information in memory files: memory files are just files on disk. Credentials, sensitive personal information, and private details about other people should not be in memory files — especially if the workspace syncs to any cloud service or git remote.

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.

Best for: builders and founders who want OpenClaw to remember the right things without spending a week designing the file structure and figuring out what goes where.
You get: the memory scaffold (SOUL.md, USER.md, MEMORY.md, and daily notes format), curation loop guidance, and workflow defaults that make the system compound from the start.
Why buy: most setups fail not because the model is weak but because the memory layer was never built correctly. The guide compresses weeks of trial-and-error into one afternoon of setup.

FAQ

How does the OpenClaw memory system work? OpenClaw memory is file-based. The assistant reads memory files (SOUL.md, USER.md, MEMORY.md, and daily notes) at session start. What is in those files shapes every response. Good memory files produce context-aware outputs; empty or stale files produce generic ones.
What files does OpenClaw use for memory? SOUL.md (identity and rules), USER.md (who you are helping), MEMORY.md (long-term curated memory, loaded in main sessions), and memory/YYYY-MM-DD.md (daily notes for current context). Project files in projects/ are loaded contextually.
What should go in MEMORY.md? Key decisions and reasoning, persistent preferences, product or business truth, recurring workflow rules, and lessons that improve future behavior. Not raw logs, not temporary states, not secrets.
What is the difference between daily notes and MEMORY.md? Daily notes are raw intake — what happened today. MEMORY.md is curated distillation — what should persist across weeks. Promote from daily notes to MEMORY.md weekly; prune both regularly.
How do I make OpenClaw remember my projects? Create a projects/ directory with a subfolder per project. Each subfolder has a status file tracking current state, decisions, and next steps. Load this file when working on the project, not in every session.
Should OpenClaw save everything to memory? No. Saving everything bloats context windows and degrades retrieval quality. Be selective — keep only what is durable and worth knowing in future sessions.
How long does it take to set up OpenClaw memory? The minimal setup (SOUL.md, USER.md, daily notes folder) takes about 20 minutes. A full three-tier system with project files takes one afternoon and improves noticeably within a week of use.
Why does OpenClaw keep forgetting context between sessions? Because OpenClaw is stateless between sessions by default. It only knows what is in the files it reads at session start. Missing context means the memory files are not being written, not being read, or the information was never captured.