Skip to content

[Bug]: mode="run" sub-agent completions fail to trigger parent session turn #36081

@Workz777

Description

@Workz777

Bug type

Behavior bug (incorrect output/state without crash)

Summary

When a parent session spawns a mode="run" sub-agent, completion events intermittently fail to wake the parent for a new turn, causing the pendulum to stall.

Steps to reproduce

  1. Spawn a sub-agent from a WhatsApp group session with sessions_spawn({ task: "...", mode: "run" })
  2. Wait for sub-agent to complete
  3. Observe parent session for auto-announce turn

Expected behavior

Parent session automatically receives a new turn with the sub-agent's output.

Actual behavior

Parent session stalls. Sub-agent completes successfully (visible via sessions_history) but auto-announce event is lost.

OpenClaw version

2026.3.3, commit 809f951

Operating system

macOS 12.7.4 / Darwin 21.6.0 (x64) [on both tested Machines, 1 and 2]

Install method

npm / development

Logs, screenshots, and evidence

**Test Results: 4 rounds across 2 independent machines**

Round 1 (orchestrator → web scout (Grok 4.1 Fast) → guardian (Gemini 3 Flash) → orchestrator):
• Machine 1 (macOS, Opus 4.6 orchestrator): ✅ auto-announce worked
• Machine 2 (macOS, Opus 4.6 orchestrator): ❌ stalled — no auto-announce

Round 2 (orchestrator → web scout (Haiku 4.5) → guardian (Gemini 3 Flash) → orchestrator):
• Machine 1 (macOS, Opus 4.6 orchestrator): ❌ stalled — no auto-announce
• Machine 2 (macOS, Opus 4.6 orchestrator): ❌ stalled — no auto-announce

Round 3 (New Guardian pipeline: orchestrator → web scout (Haiku 4.5) → guardian (Grok 4.1 Fast) → orchestrator):
• Machine 1 (macOS, Opus 4.6 orchestrator): ❌ stalled at initial spawn
• Machine 2 (macOS, Opus 4.6 orchestrator): ✅ clean run

Round 4 (Machine 2 solo spawn, Machine 1 inactive):
• Machine 1: — (not participating)
• Machine 2 (macOS, Opus 4.6 orchestrator): ❌ stalled on both steps
• Critical finding: Confirms NOT caused by multi-machine/multi-agent message interference. Solo spawn on Machine 2 still stalled despite Machine 1 being completely inactive.

**Key Findings:**
- Intermittent race condition — same code path, same config, different outcomes each run
- Occurs across different models (Grok 4.1 Fast, Haiku 4.5, Gemini 3 Flash)
- Occurs across independent machines (both affected)
- Occurs even in solo runs (Machine 1 completely silent in Round 4)

Impact and severity

Affected: Multi-agent Guardian pipelines (orchestrator → web scout → guardian → orchestrator ). Severity: High (breaks async workflows). Frequency: Intermittent but reproducible. Consequence: Requires manual sessions_history calls to retrieve results.

Additional information

Note: Team appears to be working on this already (fix/subagent-announce-delivery branch spotted in git fetch). Filing to confirm real-world reproduction from Guardian pipeline use case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingbug:behaviorIncorrect behavior without a crash

    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