diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json
index b6f8f3166..97d24c6aa 100644
--- a/.openclaw-sync/source.json
+++ b/.openclaw-sync/source.json
@@ -1,5 +1,5 @@
{
"repository": "openclaw/openclaw",
- "sha": "7b2c9a6fa3d3d1c79e6e6f0574efffc71cdfc9d6",
- "syncedAt": "2026-04-22T22:36:40.568Z"
+ "sha": "2cd3164a0fc349286268d1d967cc195d2376e045",
+ "syncedAt": "2026-04-22T22:37:07.942Z"
}
diff --git a/docs/.generated/config-baseline.sha256 b/docs/.generated/config-baseline.sha256
index f930efaa2..89e75d91d 100644
--- a/docs/.generated/config-baseline.sha256
+++ b/docs/.generated/config-baseline.sha256
@@ -1,4 +1,4 @@
-88e22624ea8967e9e817212ff4aa62451001f8d4b2c8d872e5a77f38c66c5c3f config-baseline.json
-0f117e9214be948d351dfaf7d0cfaf7e6d76e47896881b840fdad17ee4b53a24 config-baseline.core.json
+d36bf1b6891ead1fb8c34604c0f0ec784a6c8e295293208af115a289c815aea4 config-baseline.json
+e5e5d4cdfe6c084493a3aca0baa23fd993a9e47a6be4410c9d8ebd75310da9a1 config-baseline.core.json
35d132fe176bd2bf9f0e46b29de91baba63ec4db3317cc5b294a982b46d16ba9 config-baseline.channel.json
-5f0d160144cf751187cbc0219f8351307e8e82aafdb20ea0307a444f3e64b93c config-baseline.plugin.json
+71b5ff17041bc48a62300ad9f44fa8bb14d9dcd7f4c3549c0576d3059ce6ff36 config-baseline.plugin.json
diff --git a/docs/.generated/plugin-sdk-api-baseline.sha256 b/docs/.generated/plugin-sdk-api-baseline.sha256
index 97dc7e28c..a0a62e51e 100644
--- a/docs/.generated/plugin-sdk-api-baseline.sha256
+++ b/docs/.generated/plugin-sdk-api-baseline.sha256
@@ -1,2 +1,2 @@
-452cf5257df597bb0062c4478aca3afdbda6909fbaaf9ade214c27e8885935b1 plugin-sdk-api-baseline.json
-30117bdbd814978ad04be54e80b72385cabb0c726de1abcbad319c9d0b3ed101 plugin-sdk-api-baseline.jsonl
+23c12038821233958a3659371293384f5f69208353433c70196b2f27798a3316 plugin-sdk-api-baseline.json
+40ca99eaf0bf6f1b52bb7c2208a105fbba3215d59c518e2edd93e22f52841b27 plugin-sdk-api-baseline.jsonl
diff --git a/docs/gateway/configuration-reference.md b/docs/gateway/configuration-reference.md
index f81ca2f26..f5630c63b 100644
--- a/docs/gateway/configuration-reference.md
+++ b/docs/gateway/configuration-reference.md
@@ -1340,6 +1340,28 @@ Replace the entire OpenClaw-assembled system prompt with a fixed string. Set at
}
```
+### `agents.defaults.promptOverlays`
+
+Provider-independent prompt overlays applied by model family. GPT-5-family model ids receive the shared behavior contract across providers; `personality` controls only the friendly interaction-style layer.
+
+```json5
+{
+ agents: {
+ defaults: {
+ promptOverlays: {
+ gpt5: {
+ personality: "friendly", // friendly | on | off
+ },
+ },
+ },
+ },
+}
+```
+
+- `"friendly"` (default) and `"on"` enable the friendly interaction-style layer.
+- `"off"` disables only the friendly layer; the tagged GPT-5 behavior contract remains enabled.
+- Legacy `plugins.entries.openai.config.personality` is still read when this shared setting is unset.
+
### `agents.defaults.heartbeat`
Periodic heartbeat runs.
diff --git a/docs/providers/openai.md b/docs/providers/openai.md
index e0b174802..5b4cf064d 100644
--- a/docs/providers/openai.md
+++ b/docs/providers/openai.md
@@ -222,9 +222,9 @@ See [Video Generation](/tools/video-generation) for shared tool parameters, prov
## GPT-5 prompt contribution
-OpenClaw adds an OpenAI-specific GPT-5 prompt contribution for `openai/*` and `openai-codex/*` GPT-5-family runs. It lives in the bundled OpenAI plugin, applies to model ids such as `gpt-5`, `gpt-5.2`, `gpt-5.4`, and `gpt-5.4-mini`, and does not apply to older GPT-4.x models.
+OpenClaw adds a shared GPT-5 prompt contribution for GPT-5-family runs across providers. It applies by model id, so `openai/gpt-5.4`, `openai-codex/gpt-5.4`, `openrouter/openai/gpt-5.4`, `opencode/gpt-5.4`, and other compatible GPT-5 refs receive the same overlay. Older GPT-4.x models do not.
-The bundled native Codex harness provider (`codex/*`) applies the same GPT-5 behavior and heartbeat overlay through Codex app-server developer instructions, so `codex/gpt-5.x` sessions keep the same follow-through and proactive heartbeat guidance even though Codex owns the rest of the harness prompt.
+The bundled native Codex harness provider (`codex/*`) uses the same GPT-5 behavior and heartbeat overlay through Codex app-server developer instructions, so `codex/gpt-5.x` sessions keep the same follow-through and proactive heartbeat guidance even though Codex owns the rest of the harness prompt.
The GPT-5 contribution adds a tagged behavior contract for persona persistence, execution safety, tool discipline, output shape, completion checks, and verification. Channel-specific reply and silent-message behavior stays in the shared OpenClaw system prompt and outbound delivery policy. The GPT-5 guidance is always enabled for matching models. The friendly interaction-style layer is separate and configurable.
@@ -238,9 +238,11 @@ The GPT-5 contribution adds a tagged behavior contract for persona persistence,
```json5
{
- plugins: {
- entries: {
- openai: { config: { personality: "friendly" } },
+ agents: {
+ defaults: {
+ promptOverlays: {
+ gpt5: { personality: "friendly" },
+ },
},
},
}
@@ -248,7 +250,7 @@ The GPT-5 contribution adds a tagged behavior contract for persona persistence,
```bash
- openclaw config set plugins.entries.openai.config.personality off
+ openclaw config set agents.defaults.promptOverlays.gpt5.personality off
```
@@ -257,6 +259,10 @@ The GPT-5 contribution adds a tagged behavior contract for persona persistence,
Values are case-insensitive at runtime, so `"Off"` and `"off"` both disable the friendly style layer.
+
+Legacy `plugins.entries.openai.config.personality` is still read as a compatibility fallback when the shared `agents.defaults.promptOverlays.gpt5.personality` setting is not set.
+
+
## Voice and speech