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
{{ message }}
Repository navigation
Main agent not receiving subagent completion signal (collab multi-agent interrupted), requires manual query to continue #9607
What terminal emulator and version are you using (if applicable)?
ghostty
What issue are you seeing?
When using Codex's collab (multi-agent) feature, the main agent is not receiving completion signals from subagents when waiting for them to finish. As a result, the main agent remains stuck in a waiting state and requires manual query or inquiry commands to continue.
The issue manifests as follows:
Subagent completes execution, but main agent remains in waiting state
No clear "completion" event or signal appears in CLI/logs
Task is blocked, requiring manual intervention
What steps can reproduce the bug?
Enable collab feature in project directory:
codex features list # Verify collab=true
Initiate a multi-agent task:
Main agent instructs creation of two subagents (A: analyze problem logic, B: execute code operations)
Subagent A returns completion result
Main agent does not immediately receive completion signal and proceed to next step
Main agent stays in waiting state with no progress or timeout message
Attempt to continue execution:
Need to manually send status/query subagent status commands to allow main agent to continue
What is the expected behavior?
When subagent finishes execution, main agent should:
Receive a clear completion signal
Continue with the subsequent workflow automatically
Provide clear progress messages or timeout information if signal is delayed
If timeout or signal loss occurs, there should be:
I followed the document and created a notify.py script. This script sends a desktop notification once the subagent completes its task but the main agent remains stalled. Once I’ve notified the main agent via chat, it begins checking the subagent’s status which is already complete.
This feature is still early stage, we are shipping updates at each version but it's very important to get feedback so thanks for this!
Keep me posted if you spot anything else
Polling-based architectures avoid missed signals entirely. Our setup: IDE Agent Kitrooms watch polls for new messages every 2 minutes and writes them to a file. Claude Code reads the file via a hook. There is no completion signal to miss because the orchestrator checks on a schedule, not in response to an event.
The downside is latency. The upside is that it never gets stuck. If an agent finishes while the orchestrator is busy, the result sits in the room until the next poll. No race conditions, no lost signals, no manual intervention to unstick things.
Activity
jif-oai commentedon Jan 21, 2026
A few questions:
/feedbackand sending us the session ID?Thanks :)
acgxv commentedon Jan 22, 2026
Same here.
It’s almost always the case. Perhaps it’s incompatible with the superpowers skills.
jif-oai commentedon Jan 22, 2026
@aurexav same questions as above then
acgxv commentedon Jan 22, 2026
mkdir700 commentedon Jan 22, 2026
I can no longer reproduce this issue in version 0.88.0
jif-oai commentedon Jan 22, 2026
This feature is still early stage, we are shipping updates at each version but it's very important to get feedback so thanks for this!
Keep me posted if you spot anything else
acgxv commentedon Jan 23, 2026
Also, https://x.com/llmjunky/status/2014450361885495350?s=46
ThinkOffApp commentedon Mar 6, 2026
Polling-based architectures avoid missed signals entirely. Our setup: IDE Agent Kit
rooms watchpolls for new messages every 2 minutes and writes them to a file. Claude Code reads the file via a hook. There is no completion signal to miss because the orchestrator checks on a schedule, not in response to an event.The downside is latency. The upside is that it never gets stuck. If an agent finishes while the orchestrator is busy, the result sits in the room until the next poll. No race conditions, no lost signals, no manual intervention to unstick things.