Summary
When the AI executes tools (MCP/function calls) during a response, the user sees no feedback — only the "Thinking..." spinner. We should surface live tool call activity so users understand what the AI is doing, especially for multi-step agentic workflows.
Current Behavior
onToolExecuted callback in sendStreamingMessageWithCallback (ChatClientExtensions) only logs to debug
- No tool call information is forwarded to the UI layer
- Users see only the spinner with elapsed seconds while tools are running
Desired Behavior
During streaming, show a live feed of tool calls above or alongside the thinking indicator:
⠹ Thinking (4s) 🔧 search_files — ✓ 🔧 read_file — ✓ 🔧 run_terminal — running...
After completion, the tool call summary collapses into a small expandable chip on the AI message bubble.
Notes
- Tool arguments can be long - truncate or hide by default in the live view
- Tool results can also be large - only show them in the expanded collapsed chip, not the live feed
- The feature is purely presentational; no persistence of tool call data is required
Summary
When the AI executes tools (MCP/function calls) during a response, the user sees no feedback — only the "Thinking..." spinner. We should surface live tool call activity so users understand what the AI is doing, especially for multi-step agentic workflows.
Current Behavior
onToolExecutedcallback insendStreamingMessageWithCallback(ChatClientExtensions) only logs to debugDesired Behavior
During streaming, show a live feed of tool calls above or alongside the thinking indicator:
⠹ Thinking (4s) 🔧 search_files — ✓ 🔧 read_file — ✓ 🔧 run_terminal — running...
After completion, the tool call summary collapses into a small expandable chip on the AI message bubble.
Notes