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

Closed
opened 2026-02-16 17:30:14 -05:00 by yindo · 11 comments
Owner

Originally created by @samholmes on GitHub (Aug 12, 2025).

Originally assigned to: @thdxr on GitHub.

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.

Originally created by @samholmes on GitHub (Aug 12, 2025). Originally assigned to: @thdxr on GitHub. <img width="454" height="161" alt="Image" src="https://github.com/user-attachments/assets/9055103c-d72a-4a8c-8e9b-922e056f5349" /> 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: ```json "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.
yindo closed this issue 2026-02-16 17:30:14 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Aug 12, 2025):

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

  • #1720: Reports MCPClientError with Internal error after latest release, specifically with Figma MCP server
  • #232: Session stalls after adding MCP servers, similar symptoms of needing to restart opencode
  • #876: MCP server call fails with various error messages

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.

@github-actions[bot] commented on GitHub (Aug 12, 2025): 👋 This issue might be related to existing MCP-related issues. Please check: - #1720: Reports MCPClientError with Internal error after latest release, specifically with Figma MCP server - #232: Session stalls after adding MCP servers, similar symptoms of needing to restart opencode - #876: MCP server call fails with various error messages 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.
Author
Owner

@samholmes commented on GitHub (Aug 26, 2025):

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.

@samholmes commented on GitHub (Aug 26, 2025): 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.
Author
Owner

@alandotcom commented on GitHub (Sep 16, 2025):

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

@alandotcom commented on GitHub (Sep 16, 2025): > 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
Author
Owner

@alandotcom commented on GitHub (Sep 18, 2025):

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

@alandotcom commented on GitHub (Sep 18, 2025): This still happens, including in sessions where no MPC tools are used.
Author
Owner

@rekram1-node commented on GitHub (Sep 18, 2025):

@alandotcom you are getting MCPClientError ? without mcps?

@rekram1-node commented on GitHub (Sep 18, 2025): @alandotcom you are getting MCPClientError ? without mcps?
Author
Owner

@alandotcom commented on GitHub (Sep 18, 2025):

@alandotcom you are getting MCPClientError ? without mcps?

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

@alandotcom commented on GitHub (Sep 18, 2025): > [@alandotcom](https://github.com/alandotcom) you are getting MCPClientError ? without mcps? Yes, on a new project with no config. Also no global config
Author
Owner

@rekram1-node commented on GitHub (Sep 18, 2025):

@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

@rekram1-node commented on GitHub (Sep 18, 2025): @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
Author
Owner

@alandotcom commented on GitHub (Sep 19, 2025):

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
@alandotcom commented on GitHub (Sep 19, 2025): ``` 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 ```
Author
Owner

@rekram1-node commented on GitHub (Sep 19, 2025):

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

@rekram1-node commented on GitHub (Sep 19, 2025): @alandotcom looks like it works fine? I dont see any mcp errors maybe you were getting those when running in a different project/directory?
Author
Owner

@alandotcom commented on GitHub (Sep 19, 2025):

@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

@alandotcom commented on GitHub (Sep 19, 2025): > [@alandotcom](https://github.com/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
Author
Owner

@rekram1-node commented on GitHub (Dec 27, 2025):

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

@rekram1-node commented on GitHub (Dec 27, 2025): [automated] Closing due to 90+ days of inactivity. Feel free to reopen if you still need this!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#1272