-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Bug]: Subagent handoff stalls after delivered child result #110572
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingSomething isn't workingclawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper 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.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦪 silver shellfishThin issue quality; more reproduction proof or environment detail is needed.Thin issue quality; more reproduction proof or environment detail is needed.maintainerMaintainer-authored PRMaintainer-authored PR
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingSomething isn't workingclawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper 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.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦪 silver shellfishThin issue quality; more reproduction proof or environment detail is needed.Thin issue quality; more reproduction proof or environment detail is needed.maintainerMaintainer-authored PRMaintainer-authored PR
Type
Fields
Priority
None yet
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
The
subagent-handoffQA scenario can stall after the child subagent succeeds and its completion is delivered; the parent session never synthesizes the required final answer.Steps to reproduce
node scripts/run-node.mjs qa suite --provider-mode mock-openai --model openai/gpt-5.4 --alt-model openai/gpt-5.4 --scenario subagent-handoff --output-dir .artifacts/qa-e2e/subagent-handoff-mock-diagnostics.artifacts/qa-e2e/subagent-handoff-mock-diagnostics/qa-suite-report.md.Expected behavior
After the child subagent returns
ok, the requester session should produce the final response withDelegated task,Result, andEvidencesections.Actual behavior
The scenario times out waiting for the parent final response. The artifact shows one child task with
status":"succeeded",deliveryStatus":"delivered", andprogressSummary":"ok", while recent outbound messages only includeqa-operator:okand a protocol note.OpenClaw version
2026.7.2 source checkout, observed at
cad4e395d21fwhile stress-testing the QA scenario lane.Operating system
macOS, local Codex worktree.
Install method
Source checkout via repo command wrappers.
Model
openai/gpt-5.4inmock-openaiprovider mode for deterministic repro. A related live OpenAI stress run also showed intermittent stalls on the single-child handoff path before retry masked it.Provider / routing chain
OpenClaw QA Lab -> qa-channel -> mock-openai provider for the deterministic repro.
Additional provider/model setup details
No real API key is needed for the deterministic repro. Live stress used the regular OpenAI route but is not required to reproduce this issue.
Logs
Screenshots, recordings, and evidence
Deterministic local artifact path from this run:
.artifacts/qa-e2e/subagent-handoff-mock-diagnostics/qa-suite-report.mdRelated live stress evidence from earlier runs: the same scenario passed only after retry on live OpenAI, which suggests the child completion path is timing-sensitive.
Impact and severity
Affected: subagent requester sessions and QA Lab subagent handoff coverage.
Severity: Medium to high for delegation workflows because the child work succeeds but the parent can remain stuck waiting.
Frequency: Deterministic in the mock QA repro above; intermittent in live stress before retry.
Consequence: missed final answers, slow QA failures, and retries masking a real requester wake/synthesis defect.
Additional information
A first attempted fix using process-local yield markers was rejected by autoreview due race/stale-marker risks. Likely best fix should be durable/structured:
sessions_yieldor the registry should re-evaluate already-settled direct child runs for the current requester turn instead of relying on transcript text or process-local intent.