bytedance/deer-flow
View on GitHub[Stability][BUG-007] Subagent completed task still renders as running
Closed
#3118 opened on May 21, 2026
help wanted
Description
Parent stability dashboard: #3107
This issue tracks BUG-007 from #3107.
Problem
After a long Ultra task completed, the frontend still displayed a subagent task card as running.
Backend state at the same time indicated the run was terminal:
Source: database inspection after the run had ended.
runs.status=success
threads_meta.status=idle
The relevant parent-visible tool result was:
Source: checkpoint/state inspection of parent task tool result.
Error: Tool 'task' failed with TypeError: 'AsyncCallbackManager' object is not iterable. Continue with available context, or choose an alternative tool.
Code evidence
The frontend currently maps only these task result prefixes to terminal states:
Task Succeeded. Result:
Task failed.
Task timed out
The actual result starts with:
Error: Tool 'task' failed ...
So it falls through and remains rendered as in_progress.
Impact
- A completed conversation looks like it is still doing work.
- Users may wait unnecessarily.
- It can make task retries or duplicate subagent work harder to reason about from the UI.
Expected behavior
Any terminal task-tool error should render as failed, not in-progress. Frontend state reconstruction should not depend on only a few exact English text prefixes.