openclaw - 💡(How to fix) Fix Codex app-server idle watchdog fires after image_generation_call raw completed item [2 pull requests]

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…

A Codex app-server turn can be retired by the idle watchdog after an image-generation item completes. This looks like the same liveness/watchdog class as #82274, but the last delivered raw item is image_generation_call rather than custom_tool_call_output.

User-facing symptom: the Telegram task appears to silently stop after image generation work. No final assistant response is delivered, and the session later ends as interrupted.

Error Message

  1. fail the turn fast with a clear recoverable error instead of silently retiring the client after the idle watchdog.

Root Cause

A Codex app-server turn can be retired by the idle watchdog after an image-generation item completes. This looks like the same liveness/watchdog class as #82274, but the last delivered raw item is image_generation_call rather than custom_tool_call_output.

User-facing symptom: the Telegram task appears to silently stop after image generation work. No final assistant response is delivered, and the session later ends as interrupted.

Fix Action

Fixed

Code Example

long-running session ... activeWorkKind=model_call ... terminalProgressStale=true
lastProgress=codex_app_server:notification:rawResponseItem/completed
lastNotificationItemType=image_generation_call
codex app-server turn idle timed out waiting for completion
codex app-server client retired after timed-out turn

---

status=interrupted

---

#82274: custom_tool_call_output
this case: image_generation_call

---

rawResponseItem/completed, item.type=image_generation_call
(no terminal completion follows within idle window)
RAW_BUFFERClick to expand / collapse

Summary

A Codex app-server turn can be retired by the idle watchdog after an image-generation item completes. This looks like the same liveness/watchdog class as #82274, but the last delivered raw item is image_generation_call rather than custom_tool_call_output.

User-facing symptom: the Telegram task appears to silently stop after image generation work. No final assistant response is delivered, and the session later ends as interrupted.

Environment

OpenClaw2026.5.27
Runtimenative Codex app-server
Modelgpt-5.5
ChannelTelegram direct/topic session
HostmacOS local gateway

Observed timeline

A Telegram turn that was generating a batch of images got stuck in model_call after image generation progress had already been reported.

Sanitized log/signature:

long-running session ... activeWorkKind=model_call ... terminalProgressStale=true
lastProgress=codex_app_server:notification:rawResponseItem/completed
lastNotificationItemType=image_generation_call
codex app-server turn idle timed out waiting for completion
codex app-server client retired after timed-out turn

The session trajectory later ended with:

status=interrupted

The important part is that OpenClaw saw a rawResponseItem/completed notification for an item of type image_generation_call, but did not receive a terminal completion event for the turn. After the idle window, the app-server client was retired. From the user's perspective the task just stopped without the final answer.

Why this looks related to existing reports

This is very close to:

  • #82274 / #82378: Codex app-server stalls mid-turn after a raw completed item, then the watchdog fires. That fix covers the custom_tool_call_output path.
  • #78756 / #79667: broader progress-aware app-server timeout/liveness handling.

This repro differs in the last item type:

#82274: custom_tool_call_output
this case: image_generation_call

So this may be an adjacent edge case in the same watchdog/liveness logic, where completed image-generation items are not enough to guarantee the turn will either continue streaming or close cleanly.

Expected behavior

After a completed image_generation_call raw item, the Codex app-server/OpenClaw wrapper should either:

  1. receive and process the normal terminal turn completion, or
  2. continue treating meaningful image-generation progress as scoped turn activity until completion, or
  3. fail the turn fast with a clear recoverable error instead of silently retiring the client after the idle watchdog.

It should not leave the user-facing Telegram task in a silent/ambiguous interrupted state.

Suggested investigation

Check whether the liveness/watchdog handling added around #82378 treats image_generation_call items differently from custom_tool_call_output, especially when the raw item is completed but no turn/completed event follows.

A useful regression would simulate:

rawResponseItem/completed, item.type=image_generation_call
(no terminal completion follows within idle window)

and assert that the wrapper reports a clear timeout/failure path, preserves diagnostics, and does not make the Telegram session look like a silent interruption.

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…

FAQ

Expected behavior

After a completed image_generation_call raw item, the Codex app-server/OpenClaw wrapper should either:

  1. receive and process the normal terminal turn completion, or
  2. continue treating meaningful image-generation progress as scoped turn activity until completion, or
  3. fail the turn fast with a clear recoverable error instead of silently retiring the client after the idle watchdog.

It should not leave the user-facing Telegram task in a silent/ambiguous interrupted state.

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 Codex app-server idle watchdog fires after image_generation_call raw completed item [2 pull requests]