Skip to content

MCPClientError: Attempted to send a request from a closed client #1878

Closed

Description

@samholmes
Image

I'm getting this error frequently and have to restart opencode to fix the session. Perhaps the issue is with a particular mcp server I have enabled. How do I know which one from looking at the error?

Here's the MCP servers I have configured:

  "mcp": {
    "asana": {
      "type": "remote",
      "url": "https://mcp.asana.com/sse",
      "enabled": false
    },
    "browsermcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@browsermcp/mcp@latest"
      ],
      "enabled": true
    },
    "ios-simulator": {
      "type": "local",
      "command": [
        "npx",
        "/Users/samholmes/Developer/ios-simulator-mcp/"
      ]
    }
  },

Really it's only one of two MCP servers because the Asana server is not enabled (waiting for OAuth).

Or this could be an error from another MCP tool. I'll disable all my MCP servers for now and report if the error re-appears.

Activity

  1. github-actions commented on Aug 12, 2025

    @github-actions
    Contributor

    👋 This issue might be related to existing MCP-related issues. Please check:

    If none of these address your specific case, please let us know how this issue differs. The pattern of needing to restart opencode after MCP errors appears in multiple reports.

  2. samholmes commented on Aug 27, 2025

    @samholmes
    Author

    The culprit of this is browsermcp. It appears to be losing its connection for some reason. At least we know which one is causing issues.

  3. alandotcom commented on Sep 16, 2025

    @alandotcom

    The culprit of this is browsermcp. It appears to be losing its connection for some reason. At least we know which one is causing issues.

    Ran into the same issue and disabled browser-mcp

  4. alandotcom commented on Sep 18, 2025

    @alandotcom

    This still happens, including in sessions where no MPC tools are used.

  5. rekram1-node commented on Sep 18, 2025

    @rekram1-node
    Contributor

    @alandotcom you are getting MCPClientError ? without mcps?

  6. alandotcom commented on Sep 18, 2025

    @alandotcom

    @alandotcom you are getting MCPClientError ? without mcps?

    Yes, on a new project with no config. Also no global config

  7. rekram1-node commented on Sep 19, 2025

    @rekram1-node
    Contributor

    @alandotcom can you try:

    opencode run "hello" --print-logs
    

    and show me the output? run it in whatever dir you are seeing mcp errors in

  8. alandotcom commented on Sep 19, 2025

    @alandotcom
    nvim on  main via 🌙 v5.4.8
    ❯ opencode run "hello" --print-logs
    INFO  2025-09-19T15:43:25 +71ms service=default version=0.10.0 args=["run","hello","--print-logs"] opencode
    INFO  2025-09-19T15:43:25 +1ms service=project directory=/Users/alancohen/.config/nvim fromDirectory
    INFO  2025-09-19T15:43:25 +23ms service=config path=/Users/alancohen/.config/opencode/config.json loading
    INFO  2025-09-19T15:43:25 +1ms service=config path=/Users/alancohen/.config/opencode/opencode.json loading
    INFO  2025-09-19T15:43:25 +3ms service=config path=/Users/alancohen/.config/opencode/opencode.jsonc loading
    INFO  2025-09-19T15:43:25 +1ms service=plugin path=opencode-copilot-auth@0.0.2 loading plugin
    INFO  2025-09-19T15:43:25 +7ms service=plugin path=opencode-anthropic-auth@0.0.2 loading plugin
    INFO  2025-09-19T15:43:25 +29ms service=bus type=* subscribing
    INFO  2025-09-19T15:43:25 +0ms service=bus type=session.updated subscribing
    INFO  2025-09-19T15:43:25 +0ms service=bus type=message.updated subscribing
    INFO  2025-09-19T15:43:25 +0ms service=bus type=message.part.updated subscribing
    INFO  2025-09-19T15:43:25 +0ms service=format init
    INFO  2025-09-19T15:43:25 +1ms service=bus type=file.edited subscribing
    INFO  2025-09-19T15:43:25 +0ms service=session id=ses_69d5afca2ffe16QQBdEfSOj3RF version=0.10.0 projectID=6e2cf4e2c4c96ed8f139d6fa874decbd622075e2 directory=/Users/alancohen/.config/nvim title=New session - 2025-09-19T15:43:25.533Z time={"created":1758296605533,"updated":1758296605533} created
    INFO  2025-09-19T15:43:25 +0ms service=lsp serverIds=typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd, svelte enabled LSP servers
    INFO  2025-09-19T15:43:25 +1ms service=bus type=session.updated publishing
    INFO  2025-09-19T15:43:25 +196ms service=bus type=message.part.updated subscribing
    INFO  2025-09-19T15:43:25 +0ms service=bus type=session.error subscribing
    INFO  2025-09-19T15:43:25 +1ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF prompt
    INFO  2025-09-19T15:43:25 +2ms service=bus type=message.updated publishing
    INFO  2025-09-19T15:43:25 +0ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:25 +1ms service=bus type=session.updated publishing
    INFO  2025-09-19T15:43:25 +5ms service=models.dev file={} refreshing
    INFO  2025-09-19T15:43:25 +1ms service=provider init
    INFO  2025-09-19T15:43:25 +1ms service=provider providerID=openrouter found
    INFO  2025-09-19T15:43:25 +0ms service=provider providerID=opencode found
    INFO  2025-09-19T15:43:25 +0ms service=provider providerID=anthropic found
    INFO  2025-09-19T15:43:25 +0ms service=provider providerID=anthropic modelID=claude-sonnet-4-20250514 getModel
    INFO  2025-09-19T15:43:25 +1ms service=provider status=started providerID=anthropic getSDK
    INFO  2025-09-19T15:43:25 +60ms service=provider status=completed duration=60 providerID=anthropic getSDK
    INFO  2025-09-19T15:43:25 +0ms service=provider providerID=anthropic modelID=claude-sonnet-4-20250514 found
    INFO  2025-09-19T15:43:25 +0ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF sessionID=ses_69d5afca2ffe16QQBdEfSOj3RF locking
    INFO  2025-09-19T15:43:25 +24ms service=mcp key=browsermcp type=local found
    INFO  2025-09-19T15:43:26 +917ms service=provider providerID=anthropic modelID=claude-3-5-haiku-20241022 getModel
    INFO  2025-09-19T15:43:26 +0ms service=provider status=started providerID=anthropic getSDK
    INFO  2025-09-19T15:43:26 +0ms service=provider status=completed duration=0 providerID=anthropic getSDK
    INFO  2025-09-19T15:43:26 +0ms service=bus type=message.updated publishing
    INFO  2025-09-19T15:43:26 +0ms service=provider providerID=anthropic modelID=claude-3-5-haiku-20241022 found
    INFO  2025-09-19T15:43:26 +5ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF process
    INFO  2025-09-19T15:43:26 +2ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=start part
    ^AINFO  2025-09-19T15:43:27 +794ms service=bus type=session.updated publishing
    fINFO  2025-09-19T15:43:28 +780ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=start-step part
    INFO  2025-09-19T15:43:28 +2ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +21ms service=snapshot hash=df21517af0a3c839f0a0ac26fe474fe72be56021
     cwd=/Users/alancohen/.config/nvim git=/Users/alancohen/.local/share/opencode/snapshot/6e2cf4e2c4c96ed8f139d6fa874decbd622075e2 tracking
    INFO  2025-09-19T15:43:28 +0ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-start part
    INFO  2025-09-19T15:43:28 +0ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-delta part
    INFO  2025-09-19T15:43:28 +0ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +64ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-delta part
    INFO  2025-09-19T15:43:28 +1ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +111ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-delta part
    INFO  2025-09-19T15:43:28 +0ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +63ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-delta part
    INFO  2025-09-19T15:43:28 +1ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +112ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-delta part
    INFO  2025-09-19T15:43:28 +1ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +63ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-delta part
    INFO  2025-09-19T15:43:28 +0ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +62ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-delta part
    INFO  2025-09-19T15:43:28 +0ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +31ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-delta part
    INFO  2025-09-19T15:43:28 +0ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +1ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=text-end part
    INFO  2025-09-19T15:43:28 +0ms service=bus type=message.part.updated publishing
    
    Hello! I'm Claude Code, ready to help you with your Neovim configuration. What would you like to work on today?
    
    INFO  2025-09-19T15:43:28 +40ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=finish-step part
    INFO  2025-09-19T15:43:28 +1ms service=bus type=message.part.updated publishing
    INFO  2025-09-19T15:43:28 +1ms service=bus type=message.updated publishing
    INFO  2025-09-19T15:43:28 +18ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF type=finish part
    INFO  2025-09-19T15:43:28 +0ms service=bus type=message.updated publishing
    INFO  2025-09-19T15:43:28 +0ms service=bus type=message.updated publishing
    INFO  2025-09-19T15:43:28 +1ms service=bus type=message.updated publishing
    INFO  2025-09-19T15:43:28 +0ms service=session.compaction pruning
    INFO  2025-09-19T15:43:28 +0ms service=session.prompt session=ses_69d5afca2ffe16QQBdEfSOj3RF sessionID=ses_69d5afca2ffe16QQBdEfSOj3RF unlocking
    INFO  2025-09-19T15:43:28 +2ms service=bus type=session.idle publishing
    INFO  2025-09-19T15:43:28 +9ms service=session.compaction pruned=0 total=0 found
    
  9. rekram1-node commented on Sep 19, 2025

    @rekram1-node
    Contributor

    @alandotcom looks like it works fine? I dont see any mcp errors maybe you were getting those when running in a different project/directory?

  10. alandotcom commented on Sep 19, 2025

    @alandotcom

    @alandotcom looks like it works fine? I dont see any mcp errors maybe you were getting those when running in a different project/directory?

    Yea so it’s pretty random. It’s hard to recreate but, I think it usually happens if I leave a session open for a while with no activity then come back to it

  11. rekram1-node commented on Dec 28, 2025

    @rekram1-node
    Contributor

    [automated] Closing due to 90+ days of inactivity. Feel free to reopen if you still need this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

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