goose icon indicating copy to clipboard operation
goose copied to clipboard

Goose MCP timeouts are not recoverable

Open baxen opened this issue 1 year ago • 1 comments

Describe the bug After a long running command in something like the developer toolkit, we get a timeout error and the session can't continue

To Reproduce Steps to reproduce the behavior:

  1. Ask goose to run a command that won't ever finish
  2. Wait for it to timeout
  3. Try something new

Expected behavior We should be able to recover after the timeout and resume.

Please provide following information:

  • OS & Arch: OSX
  • Interface: UI
  • Version: v1.0.4
  • Extensions enabled: Developer
  • Provider & Model: sonnet 3.5

Additional context I believe the issue is that we do not actually interrupt the long running command in the MCP server after the timeout is hit in the client. I'm not sure if MCP has a way in the protocol to interrupt. So we might need to handle timeouts in the server instead, and sync them up with the client.

baxen avatar Feb 05 '25 03:02 baxen

https://spec.modelcontextprotocol.io/specification/2024-11-05/basic/utilities/cancellation/

Either side can send a cancellation notification to indicate that a previously-issued request should be terminated. If client calls a tool thats long running, we can potentially keep track of it and cancel after some time

salman1993 avatar Feb 05 '25 15:02 salman1993

This is fixed on latest

baxen avatar Jun 17 '25 05:06 baxen