openclaw - 💡(How to fix) Fix [Bug]: Subagent terminal reconciliation can expire suspended final delivery [1 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…

Subagent terminal delivery can time out repeatedly during reconciliation, then expire and discard the pending final payload instead of preserving the completion for the requester.

Root Cause

Impact and severity

Affected: subagent completion delivery for requester sessions. Severity: High, because final completion output can be lost after child work settles. Frequency: 25 discarded suspended deliveries were observed in the analyzed two-day log window. Consequence: requester sessions can miss subagent completion output.

Fix Action

Fixed

Code Example

Window analyzed: 2026-05-23T14:42:08Z through 2026-05-25T14:42:08Z
Counts:
- 215 lines contained: subagent wait timed out; deferring terminal state until session reconciliation
- 25 lines contained: subagent suspended delivery discarded

Redacted excerpts:
{"message":"subagent wait timed out; deferring terminal state until session reconciliation","time":"2026-05-23T15:22:43.688+00:00","meta":{"runId":"[redacted run id]","childSessionKey":"[redacted child session key]"}}
{"message":"subagent suspended delivery discarded","time":"2026-05-24T13:33:11.882+00:00","meta":{"reason":"expired","runId":"[redacted run id]","childSessionKey":"[redacted child session key]","requesterSessionKey":"[redacted requester session key]"}}
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Subagent terminal delivery can time out repeatedly during reconciliation, then expire and discard the pending final payload instead of preserving the completion for the requester.

Steps to reproduce

  1. Run OpenClaw with subagents that return completion output to a busy requester session.
  2. Let the subagent wait path time out and defer terminal state to session reconciliation.
  3. Observe the suspended final-delivery outbox later expire.

Expected behavior

Subagent completion output should remain available through delivery to the requester or durable session history even if final delivery is suspended long enough to expire.

Actual behavior

Gateway logs showed 215 subagent wait timed out; deferring terminal state until session reconciliation lines and 25 subagent suspended delivery discarded lines in the 2026-05-23T14:42:08Z through 2026-05-25T14:42:08Z window.

OpenClaw version

2026.5.25 dev checkout

Operating system

Linux WSL2

Install method

pnpm dev

Model

NOT_ENOUGH_INFO

Provider / routing chain

NOT_ENOUGH_INFO

Additional provider/model setup details

NOT_ENOUGH_INFO

Logs, screenshots, and evidence

Window analyzed: 2026-05-23T14:42:08Z through 2026-05-25T14:42:08Z
Counts:
- 215 lines contained: subagent wait timed out; deferring terminal state until session reconciliation
- 25 lines contained: subagent suspended delivery discarded

Redacted excerpts:
{"message":"subagent wait timed out; deferring terminal state until session reconciliation","time":"2026-05-23T15:22:43.688+00:00","meta":{"runId":"[redacted run id]","childSessionKey":"[redacted child session key]"}}
{"message":"subagent suspended delivery discarded","time":"2026-05-24T13:33:11.882+00:00","meta":{"reason":"expired","runId":"[redacted run id]","childSessionKey":"[redacted child session key]","requesterSessionKey":"[redacted requester session key]"}}

Impact and severity

Affected: subagent completion delivery for requester sessions. Severity: High, because final completion output can be lost after child work settles. Frequency: 25 discarded suspended deliveries were observed in the analyzed two-day log window. Consequence: requester sessions can miss subagent completion output.

Additional information

The implicated code paths were src/agents/subagent-registry-run-manager.ts terminal wait retry handling and src/agents/subagent-registry.ts suspended delivery expiry.

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

Subagent completion output should remain available through delivery to the requester or durable session history even if final delivery is suspended long enough to expire.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING