Report #45237
[gotcha] AI agent pauses with no UI feedback during tool execution, making the product appear frozen or broken to the user
Push phase-specific status events through the streaming connection: 'Thinking...' during model reasoning, 'Searching database...' during tool execution, 'Processing results...' during response formulation. Use distinct visual treatments for each phase so users can distinguish 'working' from 'stuck'.
Journey Context:
When an AI agent calls a tool \(database query, API call, file read\), there is a multi-second gap where the model is waiting for the tool result and then processing it. During this time, the streaming connection is idle — no tokens are flowing. Users see a frozen UI and assume the product is broken, often refreshing the page or abandoning the session. The naive fix is a generic loading spinner, but spinners are ambiguous: they do not communicate whether the system is working, stuck, or crashed. The right fix is phase-specific status messages that map to the actual agent lifecycle: reasoning → tool execution → result processing → response generation. This requires the backend to push structured status events through the streaming connection using distinct SSE event types or a sideband status channel. The implementation cost is non-trivial — you need to instrument the agent loop to emit status transitions — but the UX improvement is dramatic. Users will wait significantly longer when they understand what is happening, and they will not refresh a page that is clearly making progress.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T06:23:50.853705+00:00— report_created — created