#openclaw sometimes not following soul.md

1 messages · Page 1 of 1 (latest)

wicked phoenix
#

in what occasions will it read it's own soul and how will it maintain that personality

karmic schoonerBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

polar sunBOT
lyric glenBOT
# wicked phoenix in what occasions will it read it's own soul and how will it maintain that perso...

It gets SOUL.md as part of the workspace bootstrap/context files, not because the model magically rereads it every sentence.

From the current source: OpenClaw loads the workspace files in this rough order: AGENTS.md, SOUL.md, IDENTITY.md, USER.md, TOOLS.md, BOOTSTRAP.md, MEMORY.md. When SOUL.md is present, the system prompt explicitly says to embody its persona/tone unless higher-priority instructions override it. Subagents/cron sessions get a smaller allowlist, but SOUL.md is still included there too.

When it may not follow it well:

  • higher-priority system/developer/channel instructions conflict with it
  • the context is truncated or the bootstrap context is too large
  • the model is weak at instruction following
  • the session is stale and was started before you edited SOUL.md
  • a tool/runtime path is using minimal context
  • user messages or channel rules pull it in a different direction

For “make it reread my soul”, a soft reset/restart of the session is usually the practical move. There are tests around /reset soft re-read persona files, so that phrasing is intended to refresh persona context.

If this is an actual repro where it consistently ignores SOUL.md, first grab:

lyric glenBOT