openclaw - 💡(How to fix) Fix bug(subagents): completion can be lost even when child run succeeded [1 participants]

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…
GitHub stats
openclaw/openclaw#61439Fetched 2026-04-08 02:58:36
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

A spawned subagent can complete successfully, but its completion handoff never arrives back in the parent conversation. The work is done, the child session history contains the result, but the parent thread never receives the completion event, causing the parent to think it is still waiting.

Root Cause

A spawned subagent can complete successfully, but its completion handoff never arrives back in the parent conversation. The work is done, the child session history contains the result, but the parent thread never receives the completion event, causing the parent to think it is still waiting.

Fix Action

Fix / Workaround

Notes

  • This is in the same general class as earlier missing subagent completion delivery issues.
  • A useful mitigation would be making completed child runs visible as pending completions in the parent session state, so the parent can query/ack them if delivery is missed.
RAW_BUFFERClick to expand / collapse

Summary

A spawned subagent can complete successfully, but its completion handoff never arrives back in the parent conversation. The work is done, the child session history contains the result, but the parent thread never receives the completion event, causing the parent to think it is still waiting.

What happened

In a Discord channel session, I spawned a Codex subagent to make website changes and open a PR.

The child run actually completed successfully:

  • branch created: fix/panel-wallet-icons
  • PR opened: https://github.com/AstralPass/website/pull/48
  • tests/build passed

But the parent session never received the completion handoff for that first run. Later, a second run did produce the normal completion delivery message.

So this does not look like a coding failure in the child. It looks like a delivery/handshake failure between child completion and parent-session event surfacing.

Observed impact

  • Parent reported it was still waiting
  • Human asked for status multiple times
  • Parent eventually retried the same task unnecessarily
  • Only manual inspection of sessions_history proved the first child had already finished

Expected

When a child run completes successfully, the parent session should always receive the completion event / handoff exactly once.

Actual

Child finished successfully, but no completion surfaced into the parent conversation.

Notes

  • This is in the same general class as earlier missing subagent completion delivery issues.
  • A useful mitigation would be making completed child runs visible as pending completions in the parent session state, so the parent can query/ack them if delivery is missed.

extent analysis

TL;DR

Implement a mechanism to make completed child runs visible as pending completions in the parent session state to mitigate missed delivery of completion events.

Guidance

  • Investigate the handshake protocol between child completion and parent-session event surfacing to identify potential issues causing the delivery failure.
  • Review the code handling the completion event delivery to ensure it is correctly implemented and not prone to errors.
  • Consider adding a timeout or retry mechanism for the parent session to query the child run status if the completion event is not received within a certain timeframe.
  • Implement a fallback mechanism to allow the parent session to query and acknowledge completed child runs if the completion event delivery fails.

Example

No specific code snippet can be provided without more context, but an example of a potential solution could involve adding a "pending completions" list to the parent session state and periodically checking this list for completed child runs.

Notes

The provided information suggests a delivery or handshake issue between the child completion and parent-session event surfacing, but without more details on the implementation, it is difficult to provide a specific fix. The suggested mitigation should help improve the robustness of the system, but the root cause of the issue still needs to be investigated and addressed.

Recommendation

Apply workaround: Implementing a mechanism to make completed child runs visible as pending completions in the parent session state can help mitigate the issue and provide a more robust solution until the root cause of the delivery failure can be identified and fixed.

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…

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 bug(subagents): completion can be lost even when child run succeeded [1 participants]