You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Bug] Codex native subagent completion can surface as no-output/null despite completed child result
Summary
On OpenClaw 2026.6.1, a Telegram-sourced parent agent spawned two Codex native subagents via multi_agent_v1.spawn_agent. Both completed, but the parent received unreliable completion payloads:
one child had a valid completed text available through wait_agent, but the internal completion event delivered to the parent surfaced as (no output);
another child completed with completed: null.
This causes the parent/finalizer to treat useful delegated work as missing, or to proceed without evidence. It is especially harmful for A2A/A2AD work because the finalizer depends on child evidence packets.
Environment
OpenClaw: OpenClaw 2026.6.1 (2e08f0f)
Node: vps7 / Gwakga
Source surface: Telegram direct conversation
Time observed: 2026-06-07 17:13-17:20 KST
Subagent API used: multi_agent_v1.spawn_agent with fork_context=true
Task: Team2 research note for A2A hybrid worker/subagent mode
Parent initially received internal completion as no-output.
Later multi_agent_v1.wait_agent returned a full completed text with the expected Team2 research note.
This suggests the child produced output, but at least one parent notification/delivery path lost or failed to surface it.
Child 2
Agent id: 019ea126-1209-73f0-9200-887498129280
Nickname returned by spawn: Bacon
Task: Team2 skeptic/validator review for the same A2A hybrid proposal
Parent initially received internal completion as no-output.
Later notification and multi_agent_v1.wait_agent showed completed: null.
This suggests either the child never persisted final text, the final text was lost during cleanup, or the parent cannot distinguish "child completed with no assistant final" from "delivery failed".
Additional diagnostic notes
openclaw.sessions_history could not inspect either native subagent session:
No session found: codex-thread:019ea125-d663-7672-a22d-76170e1d8aa9
No session found: codex-thread:019ea126-1209-73f0-9200-887498129280
openclaw.subagents also did not list these native subagents as recent, which makes post-incident diagnosis dependent on multi_agent_v1.wait_agent and transient notifications.
Expected behavior
For Codex native subagents:
If the child produced final text, every parent completion notification should include the same final text or a stable retrievable result reference.
If the child completed with no final assistant text, the parent should receive a typed reason such as completed_without_final_message, not ambiguous (no output) or completed:null.
The parent should be able to inspect a sanitized child transcript/result by stable id, or the completion event should include enough diagnostic metadata to determine where output was lost.
The native subagent bridge should not allow an internal completion event to report no-output while wait_agent can later retrieve non-empty completed text.
Why this matters
This is user-visible in Telegram/A2A operation:
The finalizer may ignore valid subagent research.
The broker may create duplicate work because it believes a worker produced nothing.
A2AD thesis/antithesis/finalizer workflows lose their evidence chain.
Repeated "empty child output" incidents cannot be root-caused from OpenClaw session history.
Suggested prevention
Normalize native subagent completion payloads through one durable result source.
Persist completed text before cleanup and make all notification paths read from that frozen result.
Add a typed no-output status with reason and minimal metadata.
Make sessions_history or an equivalent diagnostic tool resolve native codex-thread:<id> sessions/results.
Add a regression test where one child returns a non-empty final and another exits without a final assistant message; parent notifications and wait_agent should agree in both cases.
Acceptance criteria
Repro creates two native subagents; parent notification and wait_agent return identical result states.
Non-empty child output is never surfaced to the parent as (no output).
completed:null includes a machine-readable reason.
A diagnostic path exists for native subagent ids after completion.
[Bug] Codex native subagent completion can surface as no-output/null despite completed child result
Summary
On OpenClaw 2026.6.1, a Telegram-sourced parent agent spawned two Codex native subagents via
multi_agent_v1.spawn_agent. Both completed, but the parent received unreliable completion payloads:wait_agent, but the internal completion event delivered to the parent surfaced as(no output);completed: null.This causes the parent/finalizer to treat useful delegated work as missing, or to proceed without evidence. It is especially harmful for A2A/A2AD work because the finalizer depends on child evidence packets.
Environment
OpenClaw 2026.6.1 (2e08f0f)vps7/ Gwakgamulti_agent_v1.spawn_agentwithfork_context=trueObserved run
Child 1
019ea125-d663-7672-a22d-76170e1d8aa9Heisenbergmulti_agent_v1.wait_agentreturned a fullcompletedtext with the expected Team2 research note.This suggests the child produced output, but at least one parent notification/delivery path lost or failed to surface it.
Child 2
019ea126-1209-73f0-9200-887498129280Baconmulti_agent_v1.wait_agentshowedcompleted: null.This suggests either the child never persisted final text, the final text was lost during cleanup, or the parent cannot distinguish "child completed with no assistant final" from "delivery failed".
Additional diagnostic notes
openclaw.sessions_historycould not inspect either native subagent session:openclaw.subagentsalso did not list these native subagents as recent, which makes post-incident diagnosis dependent onmulti_agent_v1.wait_agentand transient notifications.Expected behavior
For Codex native subagents:
completed_without_final_message, not ambiguous(no output)orcompleted:null.wait_agentcan later retrieve non-emptycompletedtext.Why this matters
This is user-visible in Telegram/A2A operation:
Suggested prevention
completedtext before cleanup and make all notification paths read from that frozen result.sessions_historyor an equivalent diagnostic tool resolve nativecodex-thread:<id>sessions/results.wait_agentshould agree in both cases.Acceptance criteria
wait_agentreturn identical result states.(no output).completed:nullincludes a machine-readable reason.multi_agent_v1path is covered.