Description
When a subagent encounters a prompt-error (abort) during execution, the parent session becomes stuck. Incoming messages to the parent channel are queued with "Queued announce messages while agent was busy" but not processed until the session eventually recovers after a significant delay (~10+ minutes) or manual restart.
Reproduction
- Parent session (Discord channel,
requireMention: false) has an active subagent running
- Subagent runs multiple tool calls (e.g.
read, edit)
- Subagent receives
openclaw:prompt-error with "error": "aborted" (e.g. due to provider timeout or context limit)
- Subagent status becomes
failed
- User sends new messages to the parent channel — they are queued but the parent session does not process them
- Parent session only resumes after a long delay or manual intervention
Evidence from logs
Subagent transcript ends with:
{
"type": "custom",
"customType": "openclaw:prompt-error",
"data": {
"error": "aborted"
}
}
Parent session transcript shows queued messages:
[Queued announce messages while agent was busy]
These queued messages are eventually delivered but with significant delay.
Expected behavior
When a subagent fails/aborts, the parent session should:
- Immediately detect the subagent failure and release any locks/blocks
- Drain the message queue and resume processing new incoming messages
- Optionally notify the user that the subagent task failed
Environment
- OpenClaw 2026.3.23-2
- Model: Bedrock Claude Opus 4.6 (custom provider)
- Channel: Discord with
requireMention: false
- Subagent spawned via
sessions_spawn with runtime: "subagent"
Description
When a subagent encounters a
prompt-error(abort) during execution, the parent session becomes stuck. Incoming messages to the parent channel are queued with "Queued announce messages while agent was busy" but not processed until the session eventually recovers after a significant delay (~10+ minutes) or manual restart.Reproduction
requireMention: false) has an active subagent runningread,edit)openclaw:prompt-errorwith"error": "aborted"(e.g. due to provider timeout or context limit)failedEvidence from logs
Subagent transcript ends with:
{ "type": "custom", "customType": "openclaw:prompt-error", "data": { "error": "aborted" } }Parent session transcript shows queued messages:
These queued messages are eventually delivered but with significant delay.
Expected behavior
When a subagent fails/aborts, the parent session should:
Environment
requireMention: falsesessions_spawnwithruntime: "subagent"