Skip to content

Codex app-server idle watchdog fires after image_generation_call raw completed item #87948

@mazetsoligarh-cell

Description

@mazetsoligarh-cell

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

OpenClaw 2026.5.27
Runtime native Codex app-server
Model gpt-5.5
Channel Telegram direct/topic session
Host macOS 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:

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.

Metadata

Metadata

Assignees

Labels

P1High-priority user-facing bug, regression, or broken workflow.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions