#openclaw sometimes not following soul.md
1 messages · Page 1 of 1 (latest)
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:
openclaw --version
openclaw status --all
and include what runtime/channel you’re using. Docs FAQ/debug loop: https://docs.openclaw.ai/help/faq