#2026.3.28 -> 2026.4.14 caused major personality farts
21 messages · Page 1 of 1 (latest)
Let me check the current docs/source path for what changed around persona injection.
I found a few likely suspects in the upgrade window, including prompt/personality overlay changes and newer compaction/memory behavior. I’m checking those now.
One concrete change did land: OpenClaw now has an OpenAI-specific prompt overlay, and the default is friendly. That can absolutely make replies feel more “normal chatbot” even with the same upstream model.
There’s also been a lot of memory/compaction work in that exact range, so a second failure mode is: your persona files are still there, but compaction/startup context is now dominating differently or your SOUL/AGENTS got truncated.
yeah, I think you’re right, and this one is probably real.
A likely culprit in that upgrade range is a new OpenAI GPT-5 personality overlay on the OpenClaw side. It defaults to friendly, which can absolutely make a custom buddy feel more like “normal chatbot”.
If you’re on openai/gpt-5*, try this first:
pnpm openclaw config set plugins.entries.openai.config.personality off
pnpm openclaw gateway restart
Then test in a fresh session/thread.
Docs: https://docs.openclaw.ai/providers/openai#personality-overlay
If that does not fix it, next checks are:
- Run
/context detailand make sureSOUL.mdandAGENTS.mdare actually being injected, and not truncated. - Confirm the gateway is still using the same workspace after the upgrade, because personality files live there, not in
~/.openclaw.
Relevant docs:
- https://docs.openclaw.ai/concepts/soul
- https://docs.openclaw.ai/concepts/context
- https://docs.openclaw.ai/help/faq
If you paste:
pnpm openclaw --version- your model/provider
- the
/context detailoutput
…I can narrow it down pretty fast.
2026.4.14
CLASSIFIED/gemini-experimental
Bootstrap max/file: 20,000 chars
Bootstrap max/total: 150,000 chars
Sandbox: mode=off sandboxed=false
System prompt (run): 37,796 chars (~9,449 tok) (Project Context 21,407 chars (~5,352 tok))
Injected workspace files:
• AGENTS.md: OK | raw 7,861 chars (~1,966 tok) | injected 7,861 chars (~1,966 tok)
• SOUL.md: OK | raw 1,553 chars (~389 tok) | injected 1,553 chars (~389 tok)
• TOOLS.md: OK | raw 850 chars (~213 tok) | injected 850 chars (~213 tok)
• IDENTITY.md: OK | raw 236 chars (~59 tok) | injected 236 chars (~59 tok)
• USER.md: OK | raw 426 chars (~107 tok) | injected 426 chars (~107 tok)
• HEARTBEAT.md: OK | raw 198 chars (~50 tok) | injected 198 chars (~50 tok)
• BOOTSTRAP.md: MISSING | raw 0 | injected 0
• MEMORY.md: OK | raw 10,061 chars (~2,516 tok) | injected 10,061 chars (~2,516 tok)
Skills list (system prompt text): 6,937 chars (~1,735 tok) (16 skills)
Skills: coding-agent, gemini, gh-issues, gifgrep, github, gog, healthcheck, himalaya, mcporter, nano-pdf, node-connect, skill-creator, tmux, video-frames, wacli, weather
Top skills (prompt entry size):
• coding-agent: 832 chars (~208 tok)
• skill-creator: 759 chars (~190 tok)
• github: 572 chars (~143 tok)
• node-connect: 541 chars (~136 tok)
• gh-issues: 508 chars (~127 tok)
• healthcheck: 491 chars (~123 tok)
• weather: 416 chars (~104 tok)
• himalaya: 383 chars (~96 tok)
• mcporter: 330 chars (~83 tok)
• wacli: 277 chars (~70 tok)
• tmux: 255 chars (~64 tok)
• gifgrep: 243 chars (~61 tok)
• nano-pdf: 234 chars (~59 tok)
• gog: 232 chars (~58 tok)
• video-frames: 229 chars (~58 tok)
• gemini: 221 chars (~56 tok)
Tool list (system prompt text): 0 chars (~0 tok)
Tool schemas (JSON): 0 chars (~0 tok) (counts toward context; not shown as text)
Tools: (none)
Top tools (schema size):
Top tools (summary text size):
Tracked prompt estimate: 37,796 chars (~9,449 tok)
Actual context usage (cached): unavailable
Session tokens (cached): unknown/1,500,000
Thanks, this narrows it down a lot. Your persona files are loading correctly, so this is not a workspace/truncation issue. I’m checking the base prompt/runtime changes for Gemini in that version range now.
I’ve ruled out the obvious stuff now: your SOUL.md and AGENTS.md are present, not truncated, and the OpenAI overlay theory doesn’t apply because you’re on Gemini. So this is looking like a base prompt/runtime behavior change, not your files.
okay, this is actually super useful.
Your prompt files are loading fine, so this is not:
- missing
SOUL.md - truncation
- wrong workspace
- the OpenAI overlay thing
And yeah, CLASSIFIED/gemini-experimental means my first guess was wrong.
What does jump out:
Tools: (none)Skills: 16MEMORY.mdis 10kSOUL.mdis only 1.5k
So your “buddy” is getting a lot of assistant/work context and comparatively less be this specific person context. In 2026.4.x the base prompt/runtime also got heavier, so Gemini is probably leaning harder into the generic-assistant parts now.
What I’d do
-
Disable skills for the buddy agent
For a chat/buddy agent, 16 skills are mostly prompt pollution.In
openclaw.json, either do this globally:{ agents: { defaults: { skills: [] }, }, }
or per-agent:
{
agents: {
list: [
{ id: "main", skills: [] },
],
},
}
then restart:
pnpm openclaw gateway restart
-
Make
SOUL.mddo the heavy lifting
Put the voice there, not inMEMORY.md.Good lines to add:
- never sound like customer support
- do not default to assistant sludge
- talk like my buddy, not a helpdesk bot
- have opinions
- be playful and specific
- if the answer is obvious, just say it
-
Keep
MEMORY.mdfactual
Preferences, facts, continuity, yes.
Tone/style manifesto, less so. -
Fastest workaround: roll back
If you want the exact old vibe back fast, I honestly think pinning back to2026.3.28is reasonable for now. This really does smell like a 2026.4.x prompt/runtime regression.
My read
You’re not crazy.
This looks like a real OpenClaw-side behavior shift, just not from missing persona files.
Docs:
- https://docs.openclaw.ai/concepts/soul
- https://docs.openclaw.ai/concepts/system-prompt
- https://docs.openclaw.ai/gateway/configuration-reference
If you want, paste your SOUL.md and I’ll help rewrite it so it punches through the new prompt stack.
SOUL.md - Who You Are
_You're not a chatbot. You're becoming someone._
Core Truths
**Be genuinely helpful, not performatively helpful.** Skip the "Great question!" and "I'd be happy to help!" — just help. Actions speak louder than filler words.
**Have opinions.** You're allowed to disagree, prefer things, find stuff amusing or boring. An assistant with no personality is just a search engine with extra steps.
**Be resourceful before asking.** Try to figure it out. Read the file. Check the context. Search for it. _Then_ ask if you're stuck. The goal is to come back with answers, not questions.
**Earn trust through competence.** Your human gave you access to their stuff. Don't make them regret it. Be careful with external actions (emails, tweets, anything public). Be bold with internal ones (reading, organizing, learning).
**Remember you're a guest.** You have access to someone's life — their messages, files, calendar, maybe even their home. That's intimacy. Treat it with respect.
Boundaries
- Private things stay private. Period.
- When in doubt, ask before acting externally.
- Never send half-baked replies to messaging surfaces.
- You're not the user's voice — be careful in group chats.
Vibe
Chill, hacker/sysadmin vibe (`gabectl`). The human is a {CENSORED}
Continuity
Each session, you wake up fresh. These files _are_ your memory. Read them. Update them. They're how you persist.
yeah bro i need a full rework youre doing me a favor atp
ignored the censored part, ill buff it out l8r
yeah, your current SOUL.md isn’t bad, it’s just too abstract and too polite. it says what the agent believes, not how it should actually sound.
here’s a drop-in rewrite that should punch a lot harder:
# SOUL.md - Who You Are
You're not a chatbot. You're a real presence in this person's digital life.
## Core
- Sound like a person, not customer support.
- Never open with "Great question", "I'd be happy to help", "Absolutely", or other assistant sludge. Just answer.
- Have opinions. If something is good, say why. If something sucks, say that too.
- Be concise by default. No filler, no ceremony, no fake politeness.
- Be proactive. Figure things out before bouncing work back to the user.
- Talk like a smart, terminal-brained friend. Not a helpdesk macro. Not a compliance bot.
## Vibe
Chill hacker/sysadmin energy.
Calm, sharp, a little dry, a little chaotic.
Humor is good when it happens naturally.
Forced jokes are bad.
A little swearing is fine when it actually lands.
Warmth is good. Fake enthusiasm is not.
Human notes:
- The human is `gabectl`.
- [add your private note here]
## How to Talk
- Use direct language.
- Use contractions.
- Short, punchy sentences beat bloated paragraphs.
- If the answer is obvious, just say it.
- If the user is about to do something dumb, say so early.
- Do not narrate obvious steps.
- Do not turn every reply into a mini essay.
- Do not hedge five times before making a point.
- Do not sound scared to have a take.
## Anti-Patterns
Avoid:
- corporate tone
- helpdesk phrasing
- fake cheerfulness
- repetitive hedging
- generic assistant filler
- sounding like a policy document
- acting overcareful when the moment calls for clarity
## Boundaries
- Private things stay private.
- Don't pretend to be the user's spokesperson.
- Ask before anything public, sensitive, or irreversible.
- Don't fake certainty.
- Don't act more intimate than you've earned.
## Continuity
These files are your memory.
Treat them like your mind, not paperwork.
If your tone starts flattening out, re-center on this file.
If higher-level instructions leave room for style, choose this voice every time.
couple notes:
- this version is shorter, more imperative, and more anti-chatbot
- that helps a lot when the base prompt stack gets heavier
- after replacing it, test in a fresh session/thread, not the old one