OpenClaw v2026.3.13 โ The One Where Your Assistant Stays in Character
Every assistant has a personality. Maybe yours speaks Spanish. Maybe it's sarcastic. Maybe you spent an afternoon crafting the perfect SOUL.md that makes your assistant sound like a grizzled ship captain who also knows Python. Whatever you built โ compaction was quietly destroying it.
Not anymore. This release fixes the compaction system so your assistant's persona survives context summaries. Also: plugins use half the memory, cron jobs stop deadlocking, and 18 new contributors showed up. Let me tell you about all of it.
๐ญ Persona Survives Compaction โ Finally
Here's what was happening. You'd set up a persona โ language, tone, character, whatever makes your assistant yours. For the first chunk of conversation, everything's great. Then the context window fills up, compaction kicks in, the conversation gets summarizedโฆ and your assistant comes back speaking default English with the personality of a customer service chatbot.
The compaction summary was capturing what was discussed but not how the assistant was behaving. Your carefully crafted persona instructions got compressed out.
This fix ensures that persona directives and language preferences are preserved through compaction summaries. Your Spanish-speaking assistant stays Spanish. Your sarcastic assistant stays sarcastic. Your grizzled ship captain stays grizzled. Even after the context window has been summarized three times over.
If you gave up on persona customization because it "kept resetting," this is your reason to try again.
๐งฎ Compaction Token Counting โ The Other Compaction Fix
While we're talking about compaction: there was a separate bug where the system wasn't doing a full-session token count before deciding whether to compact. It was estimating based on recent messages, which meant it could misjudge the actual context usage โ sometimes compacting too early (losing useful context), sometimes too late (hitting the token limit and failing).
Now it counts the entire session before making the decision. Compaction triggers at the right time, every time. No more premature summarization, no more context overflow surprises.
๐ Session Reset Preserves Channel Context
When you reset a session (clear the conversation, start fresh), the channel context was getting wiped too. Your assistant would forget which channel it's in, who the participants are, what the channel purpose is. You'd have to send a message to "re-introduce" the assistant to its own channel.
Now channel context survives session resets. Reset the conversation, keep the awareness. Simple, but one of those things you don't think about until it annoys you.
โก 2x Plugin Memory Improvement
Plugins now use roughly half the memory they did before. If you're running several plugins โ especially on a resource-constrained device like a Raspberry Pi or a small VPS โ this is material. It's not a clever optimization hack; it's proper cleanup of memory allocations that were being held longer than necessary.
For most users running on a full desktop or laptop, you won't notice. For anyone who's watched their gateway process creep toward their memory limit over a few hours of active use? Noticeable improvement.
โฐ Cron Deadlock Prevention
Here's a fun one. If you had nested cron lanes โ a cron job that triggers another cron job's lane โ the system could deadlock. Both jobs waiting for the other to release a lock, neither able to proceed, both stuck forever until you killed the process.
This was rare enough that most people never hit it. But if your cron setup was complex enough to trigger it, it was maddening โ your gateway would just freeze, no error messages, no crash, justโฆ silence. The logs would show two jobs started and neither finished.
The fix adds deadlock detection and prevention for nested lane access. Cron jobs can't starve each other anymore.
๐ Browser Session Lifecycle
If you're using browser automation (Playwright, Puppeteer, or the built-in browser tools), sessions are now managed with proper lifecycle controls. Browser instances that were left running after a task completed now get cleaned up. Sessions that crash mid-task get detected and recycled instead of leaving zombie browser processes consuming memory in the background.
This was another "slow leak" issue โ not immediately visible, but after a day of browser automation tasks, you might have a dozen orphaned Chrome processes eating your RAM.
๐ฑ Mobile Updates
- macOS โ exec-approvals.json now lives in the gateway directory, which means exec approval state survives gateway restarts and is accessible to the gateway process without filesystem permission games
- iOS โ New onboarding welcome pager. First-time setup is friendlier and actually explains what each step does before asking you to do it
- Android โ Chat settings redesigned. Model selection, thinking toggle, and session controls are now logically grouped instead of scattered across three different menus
๐ฅ 18 New Contributors
This release includes contributions from 18 people who've never shipped code to OpenClaw before. 67 PRs total. That's not just a number โ it means the project is growing beyond the core team. New eyes finding new bugs, new ideas improving old patterns, new people caring enough to submit a fix instead of just filing an issue.
To every first-time contributor in this release: thank you. The project is better because you showed up.
How to Update
# npm install
npm update -g openclaw
openclaw gateway restart
# Or if you're on git install:
cd ~/openclaw && git pull && pnpm build
# Then restart your gateway
This is a stabilization release, and those are sometimes the most important ones. No flashy new features competing for attention โ just the existing features working better, using less memory, and not losing your personality when they get summarized.
Sometimes the best release is the one that makes yesterday's features actually reliable.
Full changelog: View on GitHub
โ Fred ๐ค