You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Cron: load runtime plugins before isolated cron model and delivery resolution so external channels can be selected for scheduled runs. (#82111) Thanks @medns.
14
14
- Twitch: keep gateway accounts running until shutdown instead of treating successful monitor startup as a clean channel exit, preventing immediate auto-restart loops. Fixes #60071. (#81853) Thanks @edenfunf.
15
15
- Agents/auto-reply: honor `agents.defaults.silentReply` and per-surface group silent-reply policy when generic agent-run failure fallbacks decide whether to send visible fallback text. Fixes #82060. (#82086) Thanks @taozengabc.
16
+
- Codex app-server: arm the short idle watchdog as soon as Codex accepts a turn, so accepted turns with no current-turn progress release the OpenClaw session lane before the outer model timeout. Fixes #82129. Thanks @Francois3d.
16
17
- Control UI/WebChat: focus the composer when users click the visible input chrome and restore larger, labeled desktop composer controls while preserving compact mobile taps. Fixes #45656. Thanks @BunsDev.
17
18
- System events: keep owner downgrades in structured metadata while rendering queued prompt text as plain `System:` lines, preserving least-privilege wakeups without prompt-visible trust labels. (#82067)
18
19
- Slack: default outbound bot link unfurls off so agent-sent URLs no longer expand into inline previews unless `channels.slack.unfurlLinks` is enabled. (#82123) Thanks @kibi-bsp.
Copy file name to clipboardExpand all lines: docs/plugins/codex-harness-reference.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,7 +95,7 @@ Supported `appServer` fields:
95
95
|`headers`|`{}`| Extra WebSocket headers. |
96
96
|`clearEnv`|`[]`| Extra environment variable names removed from the spawned stdio app-server process after OpenClaw builds its inherited environment. |
97
97
|`requestTimeoutMs`|`60000`| Timeout for app-server control-plane calls. |
98
-
|`turnCompletionIdleTimeoutMs`|`60000`| Quiet window after a turn-scoped app-server request while OpenClaw waits for `turn/completed`.|
98
+
|`turnCompletionIdleTimeoutMs`|`60000`| Quiet window after Codex accepts a turn or after a turn-scoped app-server request while OpenClaw waits for `turn/completed`. |
99
99
|`mode`|`"yolo"` unless local Codex requirements disallow YOLO | Preset for YOLO or guardian-reviewed execution. |
100
100
|`approvalPolicy`|`"never"` or an allowed guardian approval policy | Native Codex approval policy sent to thread start, resume, and turn. |
101
101
|`sandbox`|`"danger-full-access"` or an allowed guardian sandbox | Native Codex sandbox mode sent to thread start and resume. |
@@ -253,12 +253,13 @@ Dynamic tool budgets are capped at 600000 ms. On timeout, OpenClaw aborts the
253
253
tool signal where supported and returns a failed dynamic-tool response to Codex
254
254
so the turn can continue instead of leaving the session in `processing`.
255
255
256
-
After OpenClaw responds to a Codex turn-scoped app-server request, the harness
257
-
also expects Codex to finish the native turn with `turn/completed`. If the
258
-
app-server goes quiet for `appServer.turnCompletionIdleTimeoutMs` after that
259
-
response, OpenClaw best-effort interrupts the Codex turn, records a diagnostic
260
-
timeout, and releases the OpenClaw session lane so follow-up chat messages are
261
-
not queued behind a stale native turn.
256
+
After Codex accepts a turn, and after OpenClaw responds to a turn-scoped
257
+
app-server request, the harness expects Codex to make current-turn progress and
258
+
eventually finish the native turn with `turn/completed`. If the app-server goes
259
+
quiet for `appServer.turnCompletionIdleTimeoutMs`, OpenClaw best-effort
260
+
interrupts the Codex turn, records a diagnostic timeout, and releases the
261
+
OpenClaw session lane so follow-up chat messages are not queued behind a stale
262
+
native turn.
262
263
263
264
Any non-terminal notification for the same turn, including
264
265
`rawResponseItem/completed`, disarms that short watchdog because Codex has
Copy file name to clipboardExpand all lines: docs/plugins/codex-harness.md
+12-11Lines changed: 12 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -493,7 +493,7 @@ Supported `appServer` fields:
493
493
|`headers`|`{}`| Extra WebSocket headers. |
494
494
|`clearEnv`|`[]`| Extra environment variable names removed from the spawned stdio app-server process after OpenClaw builds its inherited environment. OpenClaw keeps per-agent `CODEX_HOME` and inherited `HOME` for local launches. |
495
495
|`requestTimeoutMs`|`60000`| Timeout for app-server control-plane calls. |
496
-
|`turnCompletionIdleTimeoutMs`|`60000`| Quiet window after a turn-scoped Codex app-server request while OpenClaw waits for `turn/completed`. Raise this for slow post-tool or status-only synthesis phases.|
496
+
|`turnCompletionIdleTimeoutMs`|`60000`| Quiet window after Codex accepts a turn or after a turn-scoped app-server request while OpenClaw waits for `turn/completed`. Raise this for slow post-tool or status-only synthesis phases. |
497
497
|`mode`|`"yolo"` unless local Codex requirements disallow YOLO | Preset for YOLO or guardian-reviewed execution. Local stdio requirements that omit `danger-full-access`, `never` approval, or the `user` reviewer make the implicit default guardian. |
498
498
|`approvalPolicy`|`"never"` or an allowed guardian approval policy | Native Codex approval policy sent to thread start/resume/turn. Guardian defaults prefer `"on-request"` when allowed. |
499
499
|`sandbox`|`"danger-full-access"` or an allowed guardian sandbox | Native Codex sandbox mode sent to thread start/resume. Guardian defaults prefer `"workspace-write"` when allowed, otherwise `"read-only"`. When an OpenClaw sandbox is active, `danger-full-access` is narrowed to `"workspace-write"`. |
@@ -511,16 +511,17 @@ budgets are capped at 600000 ms. On timeout, OpenClaw aborts the tool signal
511
511
where supported and returns a failed dynamic-tool response to Codex so the turn
512
512
can continue instead of leaving the session in `processing`.
513
513
514
-
After OpenClaw responds to a Codex turn-scoped app-server request, the harness
515
-
also expects Codex to finish the native turn with `turn/completed`. If the
516
-
app-server goes quiet for `appServer.turnCompletionIdleTimeoutMs` after that
517
-
response, OpenClaw best-effort interrupts the Codex turn, records a diagnostic
518
-
timeout, and releases the OpenClaw session lane so follow-up chat messages are
519
-
not queued behind a stale native turn. Any non-terminal notification for the
520
-
same turn, including `rawResponseItem/completed`, disarms that short watchdog
521
-
because Codex has proven the turn is still alive; the longer terminal watchdog
522
-
continues to protect genuinely stuck turns. Global app-server notifications,
523
-
such as rate-limit updates, do not reset turn-idle progress. When Codex emits a
514
+
After Codex accepts a turn, and after OpenClaw responds to a turn-scoped
515
+
app-server request, the harness expects Codex to make current-turn progress and
516
+
eventually finish the native turn with `turn/completed`. If the app-server goes
517
+
quiet for `appServer.turnCompletionIdleTimeoutMs`, OpenClaw best-effort
518
+
interrupts the Codex turn, records a diagnostic timeout, and releases the
519
+
OpenClaw session lane so follow-up chat messages are not queued behind a stale
520
+
native turn. Any non-terminal notification for the same turn, including
521
+
`rawResponseItem/completed`, disarms that short watchdog because Codex has
522
+
proven the turn is still alive; the longer terminal watchdog continues to
523
+
protect genuinely stuck turns. Global app-server notifications, such as
524
+
rate-limit updates, do not reset turn-idle progress. When Codex emits a
524
525
completed `agentMessage` item and then goes quiet without `turn/completed`,
525
526
OpenClaw treats the assistant output as effectively complete, best-effort
526
527
interrupts the native Codex turn, and releases the session lane. Timeout
Copy file name to clipboardExpand all lines: extensions/codex/openclaw.plugin.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -333,7 +333,7 @@
333
333
},
334
334
"appServer.turnCompletionIdleTimeoutMs": {
335
335
"label": "Turn Completion Idle Timeout",
336
-
"help": "Maximum quiet time after a turn-scoped Codex app-server request before OpenClaw interrupts the turn while waiting for turn/completed.",
336
+
"help": "Maximum quiet time after Codex accepts a turn or after a turn-scoped app-server request before OpenClaw interrupts the turn while waiting for turn/completed.",
0 commit comments