Race condition while connecting to MCP servers & elicitation errors
#9031 opened on May 5, 2026
Description
Describe the bug
Issue 1
When Goose Desktop is spawning up MCP servers, there is a weird race condition happening. From the screen recording, we can see that it actually spawns the same MCP server three times and quickly abandoned two of them. It does not hurt any performance but it's a buggy behavior.
https://github.com/user-attachments/assets/40db9b82-11fe-469b-9383-9785679b41d4
Issue 2
After users respond to the elicitation, the result is not successfully delivered to the MCP server, and it causes Goose Desktop hanging forever.
I didn't encounter the same failed to load session problem in https://github.com/aaif-goose/goose/issues/8531 but the other parts are same.
This bug seems to be fixed by https://github.com/aaif-goose/goose/pull/8999. From the demo picture, the LLM knows the response sent by users and it's still responsive. I would like to test it myself but I can not successfully build the dev version of Goose Desktop - https://github.com/aaif-goose/goose/issues/8757
Elicitation not delivered
https://github.com/user-attachments/assets/baf0666f-92b1-4b4d-a4cb-ddcf83ffa248
Goose Desktop hanging after elicitation
https://github.com/user-attachments/assets/09588581-5fa8-4386-b3e7-ba9fd5aae716
Expected behavior from goose cli
https://github.com/user-attachments/assets/ae8df36a-0a73-40c7-bcf8-fa42222561cb
To Reproduce Steps to reproduce the behavior:
Issue 1
- Host a MCP server with http transport that logs every
initializerequest. - We can see from the log that Goose Desktop send the
initializerequest three times.
Issue 2
- Connect to a MCP server that has tools sending elicitation request to MCP clients.
- Submit the elicitation and ask for the result you submit to see if the LLM really get the response.
Expected behavior
Issue 1
Goose Desktop should only connect each MCP server once.
Issue 2
MCP server should receive the response of the elicitation after users submit the response from Goose Desktop. The LLM should still be able to respond to users input after an elicitation request.
Please provide the following information
- OS & Arch: macOS 15.7.5 M3 chip
- Interface: UI
- Version: 1.33.1
- Extensions enabled: A dummy MCP server for testing
- Provider & Model: Google-gemini-3.1-pro-preview, Google-gemini-2.5-pro