{
  "title": "SOUL Evil Hook",
  "content": "The SOUL Evil hook swaps the **injected** `SOUL.md` content with `SOUL_EVIL.md` during\na purge window or by random chance. It does **not** modify files on disk.\n\nWhen `agent:bootstrap` runs, the hook can replace the `SOUL.md` content in memory\nbefore the system prompt is assembled. If `SOUL_EVIL.md` is missing or empty,\nOpenClaw logs a warning and keeps the normal `SOUL.md`.\n\nSub-agent runs do **not** include `SOUL.md` in their bootstrap files, so this hook\nhas no effect on sub-agents.\n\nCreate `SOUL_EVIL.md` in the agent workspace root (next to `SOUL.md`).\n\n* `file` (string): alternate SOUL filename (default: `SOUL_EVIL.md`)\n* `chance` (number 0–1): random chance per run to use `SOUL_EVIL.md`\n* `purge.at` (HH:mm): daily purge start (24-hour clock)\n* `purge.duration` (duration): window length (e.g. `30s`, `10m`, `1h`)\n\n**Precedence:** purge window wins over chance.\n\n**Timezone:** uses `agents.defaults.userTimezone` when set; otherwise host timezone.\n\n* No files are written or modified on disk.\n* If `SOUL.md` is not in the bootstrap list, the hook does nothing.",
  "code_samples": [
    {
      "code": "Then set the config:",
      "language": "unknown"
    }
  ],
  "headings": [
    {
      "level": "h2",
      "text": "How It Works",
      "id": "how-it-works"
    },
    {
      "level": "h2",
      "text": "Enable",
      "id": "enable"
    },
    {
      "level": "h2",
      "text": "Options",
      "id": "options"
    },
    {
      "level": "h2",
      "text": "Notes",
      "id": "notes"
    },
    {
      "level": "h2",
      "text": "See Also",
      "id": "see-also"
    }
  ],
  "url": "llms-txt#soul-evil-hook",
  "links": []
}