Skip to content

Auto-reconnect MCP extensions when connection drops #7063

@tfsq

Description

@tfsq

Problem

MCP extensions with persistent connections (e.g., Snowflake, databases) frequently drop mid-session with errors like "Transport closed". When this happens, every subsequent tool call fails until the user manually disables and re-enables the extension.

Goose has no way to detect or recover from this state automatically.

Current Behavior

  1. Extension connection drops (timeout, network issue, server restart)
  2. All subsequent calls fail with connection errors
  3. User must manually go to Extensions page, disable, then re-enable
  4. Or restart entire Goose session (losing conversation context)

Proposed Solution

  1. Detection: Recognize connection drop patterns (repeated Transport closed, connection refused, timeout errors)
  2. Auto-recovery: Automatically attempt to disable/re-enable the extension
  3. User notification: Inform user that extension was reconnected
  4. Fallback: If auto-reconnect fails after N attempts, prompt user to manually intervene

Impact

  • Interrupts long analytical/development workflows
  • Loses conversation context when forced to restart session
  • Poor UX for extensions that require persistent connections

Example

Snowflake extension drops connection after ~30 min of inactivity or heavy queries. User sees:

Error: -32603: Transport closed

Every query fails until manual intervention.

Workaround

User manually disables and re-enables the extension in the Extensions page.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions