openclaw - 💡(How to fix) Fix Add narrow toggle to suppress agent-identity preamble while keeping bootstrap intact

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

OpenClaw is excellent as an agent runtime, but the built-in identity preamble pushes consumer-assistant framing into autonomous-operator deployments. A narrow toggle would let operators choose the framing without losing the rest of the bootstrap.

Happy to follow up with a PR if there's interest in the API shape above.

Fix Action

Fix / Workaround

Workaround we are deploying meanwhile

Code Example

{
  "agents": {
    "defaults": {
      "systemPrompt": {
        "includeIdentityPreamble": false
      }
    }
  }
}
RAW_BUFFERClick to expand / collapse

Use case

Operators of OpenClaw-as-agent-runtime want autonomous-operator framing for their agents — task-direct, no consumer warmth, no assistant-mode posturing. The runtime injects a generic "you are an OpenClaw agent" identity line at the top of the system prompt that conflicts with this framing.

What I tried

  1. personality: "off" under agents.defaults.promptOverlays.gpt5 — useful (turns off the warmth preamble) but doesn't touch the agent-identity line itself.
  2. systemPromptOverride — nuclear. Replaces the entire bootstrap, including agent SOUL/memory injection. Not viable.
  3. Stronger downstream framing in our agent bootstrap files — partial; the OpenClaw header still appears first in the system prompt and competes with our framing.

There appears to be no narrower control that suppresses ONLY the agent-identity preamble while keeping the rest of the bootstrap (workspace context, memory hooks, tool definitions, capability injection).

Suggested API

A boolean (or enum) at agents.defaults.systemPrompt.includeIdentityPreamble (and per-agent override) that, when set to false, omits the "you are an OpenClaw agent" header while leaving every other system-prompt section intact.

{
  "agents": {
    "defaults": {
      "systemPrompt": {
        "includeIdentityPreamble": false
      }
    }
  }
}

A similar pattern already exists for the heartbeat section (`heartbeat.includeSystemPromptSection`), so this would slot neatly into the existing schema convention.

Workaround we are deploying meanwhile

Hardening our agent runtime rules + per-agent SOUL.md to assert the operator-not-assistant posture forcefully enough that downstream framing dominates the upstream preamble. Imperfect but practical.

Why this matters

OpenClaw is excellent as an agent runtime, but the built-in identity preamble pushes consumer-assistant framing into autonomous-operator deployments. A narrow toggle would let operators choose the framing without losing the rest of the bootstrap.

Happy to follow up with a PR if there's interest in the API shape above.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Add narrow toggle to suppress agent-identity preamble while keeping bootstrap intact