← Goose Changelog
v1.21.2
Jan 27, 2026 (1mo ago)
View on GitHub →
🐛 Bug Fixes
Fix MCP Elicitation Deadlock and Improve UX (#6650)
Fixed a critical deadlock in MCP elicitation that caused requests to timeout immediately when an MCP server calledelicitInput().
The Problem:
When an MCP server triggered elicitation, the form would appear in the UI but immediately timeout due to a deadlock in the agent's tool execution loop.
The Solution:
- Rust (agent.rs): Changed the tool execution loop to use
tokio::select!with a 100ms timeout, allowing the loop to periodically check for elicitation messages even when tools are blocked
- UI (ElicitationRequest.tsx): Added visual feedback including:
- Countdown timer showing time remaining (5 minutes)
- Pulsing clock icon with "Waiting for your response" message
- Urgent state that turns red when under 60 seconds
- Clear expired message when time runs out