aaif-goose/goose

Race condition while connecting to MCP servers & elicitation errors

Closed

#9031 opened on May 5, 2026

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Rust (45,211 stars) (4,628 forks)batch import
help wantedsnoozed:20260601

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

  1. Host a MCP server with http transport that logs every initialize request.
  2. We can see from the log that Goose Desktop send the initialize request three times.

Issue 2

  1. Connect to a MCP server that has tools sending elicitation request to MCP clients.
  2. 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

Contributor guide