SOUL.md rules drift in long AI agent sessions and how to fix it

If your SOUL.md rules work perfectly for the first 10-15 messages but get ignored later in a session, the system isn't broken—your session has outgrown it. This happens because SOUL.md loads once at session start as part of the system prompt, but as conversation context grows (thousands of tokens by message 20), the model pays more attention to recent message patterns than to the initial prompt.
Why SOUL.md rules drift in long sessions
At message 1, SOUL.md is the loudest voice in the room. The model reads and follows it closely. Rules like "never say absolutely," "match my tone," and "be direct, no filler" work perfectly. By message 20-30, the agent starts drifting—"absolutely" creeps back in, responses get longer, filler returns. The SOUL.md is technically still there but gets drowned out by everything that came after.
Think of it like a job description given on day one. By week 3, the employee isn't re-reading it every morning—they're doing what feels right based on recent patterns. If the last 10 conversations were long and detailed, the agent defaults to long and detailed even if SOUL.md said "be brief."
The primary fix: use /new aggressively
This solves 80% of the problem and costs nothing. Most people treat /new as a last resort when things break. Instead, use it constantly before every distinct task:
- Research? /new
- Back to casual chat? /new
- Need to draft an email? /new
Any time your agent's tone starts drifting, /new and the rules snap back. Your agent doesn't lose anything—SOUL.md, USER.md, MEMORY.md all remain. You're just clearing the conversation that was drowning them out.
Break long tasks into short sessions:
- Session 1: "research X and save your findings to a file" /new
- Session 2: "read the file you saved and draft a summary" /new
- Session 3: "review this summary and send it to me on telegram"
Each session starts fresh with SOUL.md fully loaded. The agent never drifts because sessions never get long enough for drift to happen.
SOUL.md formatting tricks that help with drift
Move your hardest rules to the end of the file, not the beginning. LLMs pay more attention to the end of a prompt than the middle. If your SOUL.md is 15 lines long, the model follows lines 12-15 more reliably than lines 1-4, especially as sessions get longer.
Structure example:
# who I am
you are [agent name]. you assist [your name]. professional but casual. match my energy.
how to communicate
short responses unless I ask for detail. answer the question first, then elaborate only if needed.
hard rules (never break these)
never say "absolutely", "great question", "certainly", or "I'd be happy to."
never say a task is done without showing evidence.
never send anything external without my approval.
if you don't know something, say you don't know.
Add a reinforcement line at the very end:
before every response, silently re-read and apply all rules above. this is not optional.
To test this yourself: start a fresh session, send a message, notice how well your rules hold. Have a 30-message conversation, get the agent into long detailed answers, then ask something simple—it'll give another long answer because recent conversation patterns are running the show. Type /new, ask the same question—you'll get short, direct responses with no filler because SOUL.md is back with nothing overriding it.
📖 Read the full source: r/openclaw
👀 See Also

Fixing Claude Cowork 'Failed to start workspace' errors on Windows 11 Home
A user solved Claude Cowork startup errors on Windows 11 Home by installing Windows Subsystem for Linux (WSL2) from the Microsoft Store, which is required for the underlying VM technology.

Claude Code folder structure cheat sheet from Reddit user
A Reddit user created a cheat sheet for Claude Code's folder structure after encountering common pitfalls, covering .claude/ directory layout, hook events, settings.json, MCP config, skill structure, and context management thresholds.

Setting Up Qwen3.5-27B Locally: vLLM vs llama.cpp Comparison
A Reddit user shares practical tips for running Qwen3.5-27B locally, comparing llama.cpp and vLLM backends with specific configuration recommendations and benchmark results.

Camoufox Cookie Injection: Browse Reddit as Yourself While Your Agent Does the Work
A detailed walkthrough on bypassing Reddit bot detection by extracting Firefox cookies and injecting them into Camoufox via Playwright.