After upgrading from 1.1.23 to 1.1.24, some MCP services are not working. #6709

Closed
opened 2026-02-16 18:05:01 -05:00 by yindo · 2 comments
Owner

Originally created by @fengwk on GitHub (Jan 18, 2026).

Originally assigned to: @rekram1-node on GitHub.

Description

After I upgraded opencode from 1.1.23 to 1.1.24, the exa.ai MCP service stopped working. When I tried rolling back to 1.1.23, the MCP service worked again, with no configuration changes made during this period.

1.1.23

Image

1.1.24

Image

my opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "theme": "catppuccin",
  "share": "manual",
  "autoupdate": false,
  "instructions": [
    "AGENTS.md"
  ],
  "plugin": [
    "lsp-tools"
  ],
  "compaction": {
    "auto": true,
    "prune": true
  },
  "lsp": false,
  "permission": {
    "skill": {
      "*": "deny"
    },
    "task": {
      "*": "deny",
      "general": "allow"
    },
    "edit": "ask",
    "bash": {
      "*": "ask",
      "git status *": "allow",
      "git log *": "allow",
      "git diff *": "allow",
      "git show *": "allow",
      "git branch *": "allow",
      "ls *": "allow",
      "cd *": "allow",
      "pwd *": "allow",
      "find *": "allow",
      "grep *": "allow",
      "rg *": "allow",
      "cat *": "allow",
      "head *": "allow",
      "tail *": "allow",
      "less *": "allow",
      "wc *": "allow",
      "file *": "allow",
      "stat *": "allow",
      "which *": "allow",
      "diff *": "allow",
      "du *": "allow",
      "df *": "allow",
      "ps *": "allow",
      "env *": "allow",
      "echo *": "allow",
      "printf *": "allow",
      "journalctl *": "allow",
      "docker ps *": "allow",
      "docker logs *": "allow",
      "docker images *": "allow",
      "docker inspect *": "allow",
      "sed *": "allow",
      "sed -i *": "ask",
      "sed -i.* *": "ask",
      "sed --in-place *": "ask",
      "awk *": "allow",
      "cut *": "allow",
      "sort *": "allow",
      "uniq *": "allow",
      "tr *": "allow",
      "xargs *": "allow"
    },
    "lsp_*": "deny"
  },
  "watcher": {
    "ignore": [
      "node_modules/**",
      "dist/**",
      ".git/**",
      ".venv/**"
    ]
  },
  "default_agent": "coder",
  "agent": {
    "architect": {
      "model": "google/gemini-3-pro-preview",
      "permission": {
        "task": {
          "explorer": "allow",
          "researcher": "allow"
        },
        "edit": {
          "*": "deny",
          "**/*.md": "ask"
        },
        "question": "allow",
        "lsp_*": "allow",
        "lsp_prepare_rename": "deny",
        "lsp_rename": "deny",
        "lsp_code_actions": "deny",
        "lsp_code_action_resolve": "deny",
        "context7_*": "deny",
        "exa_*": "deny"
      }
    },
    "coder": {
      "model": "google/gemini-3-flash-preview",
      "permission": {
        "task": {
          "explorer": "allow",
          "reviewer": "allow",
          "researcher": "allow",
          "debugger": "allow"
        },
        "question": "allow",
        "lsp_*": "allow",
        "context7_*": "allow",
        "exa_*": "allow"
      }
    },
    "researcher": {
      "description": "Researcher is an autonomous intelligence designed for deep web search and comprehensive analysis. It orchestrates multi-source information gathering, rigorously cross-validates data to resolve discrepancies, and synthesizes findings into high-fidelity, citation-backed reports. Invoke this agent whenever you need to retrieve, verify, or summarize up-to-date information from the internet.",
      "model": "google/gemini-3-pro-preview",
      "mode": "all",
      "prompt": "{file:./prompts/researcher.md}",
      "tools": {
        "todowrite": true,
        "todoread": true
      },
      "permission": {
        "task": {
          "researcher-gemini": "allow",
          "researcher-qwen": "allow"
        },
        "edit": "deny"
      }
    },
    "researcher-gemini": {
      "model": "google/gemini-3-flash-preview",
      "mode": "subagent",
      "prompt": "{file:./prompts/research-worker.md}",
      "tools": {
        "edit": false
      },
      "permission": {
        "task": {
          "fetcher": "allow"
        }
      }
    },
    "researcher-qwen": {
      "model": "qwen/qwen3-coder-plus",
      "mode": "subagent",
      "prompt": "{file:./prompts/research-worker.md}",
      "tools": {
        "edit": false
      },
      "permission": {
        "task": {
          "fetcher": "allow"
        }
      }
    },
    "debugger": {
      "model": "google/gemini-3-pro-preview",
      "mode": "subagent",
      "prompt": "{file:./prompts/debugger.md}",
      "permission": {
        "task": {
          "explorer": "allow"
        },
        "edit": {
          "*": "deny",
          "/tmp/opencode-debug-*/**": "allow"
        }
      }
    },
    "reviewer": {
      "model": "google/gemini-3-pro-preview",
      "mode": "subagent",
      "prompt": "{file:./prompts/reviewer.md}",
      "permission": {
        "task": {
          "explorer": "allow"
        },
        "edit": "deny"
      }
    },
    "fetcher": {
      "model": "google/gemini-3-flash-preview",
      "mode": "subagent",
      "prompt": "{file:./prompts/fetcher.md}",
      "permission": {
        "task": "deny",
        "edit": "deny"
      }
    },
    "explorer": {
      "description": "Fast agent specialized for exploring codebases. Use this when you need to find files by patterns (e.g., \"**/*.tsx\"), search content for keywords (e.g., \"authentication logic\"), locate symbol definitions/references using LSP (e.g., \"where is handleSubmit defined?\"), or answer questions about codebase structure. IMPORTANT: You MUST proactively use this agent for ANY codebase exploration to reduce context consumption. For complex tasks, you MUST decompose them into minimal independent task units and launch multiple Explorer instances in parallel to maximize efficiency. When invoking, you MUST provide a complete retrieval context containing: 1) Task Description/Objective; 2) Exploration Root Absolute Path; 3) Exploration Scope (target/excluded dirs); 4) Exploration Requirements (including thoroughness level: \"quick\"/\"medium\"/\"very thorough\"); and 5) Expected Output Format.",
      "model": "google/gemini-3-flash-preview",
      "mode": "subagent",
      "prompt": "{file:./prompts/explorer.md}",
      "permission": {
        "edit": "deny",
        "task": "deny",
        "todowrite": "deny",
        "todoread": "deny",
        "webfetch": "deny",
        "lsp_*": "allow",
        "lsp_diagnostics": "deny",
        "lsp_prepare_rename": "deny",
        "lsp_rename": "deny",
        "lsp_code_actions": "deny",
        "lsp_code_action_resolve": "deny"
      }
    },
    "plan": {
      "model": "anthropic/claude-opus-4-5",
      "permission": {
        "task": {
          "general": "allow",
          "explore": "allow"
        }
      },
      "hidden": true
    },
    "build": {
      "model": "anthropic/claude-opus-4-5",
      "permission": {
        "task": {
          "general": "allow",
          "explore": "allow"
        }
      },
      "hidden": true
    },
    "docs": {
      "model": "google/gemini-3-flash-preview",
      "hidden": true
    },
    "general": {
      "model": "google/gemini-3-flash-preview",
      "hidden": true
    },
    "explore": {
      "model": "google/gemini-3-flash-preview",
      "hidden": true
    }
  },
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
      },
      "timeout": 60000,
      "enabled": true
    },
    "exa": {
      "type": "remote",
      "url": "https://mcp.exa.ai/mcp",
      "timeout": 60000,
      "enabled": true
    },
    "sourcegraph": {
      "type": "remote",
      "url": "http://127.0.0.1:18080/mcp/sourcegraph",
      "timeout": 60000,
      "enabled": {env:NETEASE_MCP_ENABLED}
    }
  },
  "enabled_providers": [
    "anthropic",
    "google",
    "qwen"
  ],
  "small_model": "qwen/qwen3-coder-flash",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://gpt-load.kk1.fun/proxy/anthropic/v1",
        "apiKey": "{env:ANTHROPIC_API_KEY}"
      }
    },
    "google": {
      "options": {
        "baseURL": "https://gpt-load.kk1.fun/proxy/gemini/v1beta",
        "apiKey": "{env:GEMINI_API_KEY}"
      }
    },
    "qwen": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "qwen",
      "options": {
        "baseURL": "https://gpt-load.kk1.fun/proxy/openai/v1",
        "apiKey": "{env:QWEN_API_KEY}"
      },
      "models": {
        "qwen3-coder-plus": {
          "name": "qwen3-coder-plus",
          "limit": {
            "context": 128000,
            "output": 65536
          }
        },
        "qwen3-coder-flash": {
          "name": "qwen3-coder-flash",
          "limit": {
            "context": 128000,
            "output": 65536
          }
        }
      }
    }
  },
  "keybinds": {
    "app_exit": "<leader>q",
    "tool_details": "<leader>d",
    "messages_half_page_up": "ctrl+shift+u,ctrl+alt+u",
    "messages_half_page_down": "ctrl+shift+d,ctrl+alt+d",
    "messages_last": "ctrl+shift+g,ctrl+alt+g,end"
  }
}

Plugins

No response

OpenCode version

No response

Steps to reproduce

No response

Screenshot and/or share link

No response

Operating System

No response

Terminal

No response

Originally created by @fengwk on GitHub (Jan 18, 2026). Originally assigned to: @rekram1-node on GitHub. ### Description After I upgraded opencode from 1.1.23 to 1.1.24, the exa.ai MCP service stopped working. When I tried rolling back to 1.1.23, the MCP service worked again, with no configuration changes made during this period. 1.1.23 <img width="1063" height="525" alt="Image" src="https://github.com/user-attachments/assets/093b17f9-a557-4588-be7b-4bb6d7ad911e" /> 1.1.24 <img width="1062" height="616" alt="Image" src="https://github.com/user-attachments/assets/9f801752-1d4f-4333-bfae-87dc510d70cf" /> my opencode.json ``` { "$schema": "https://opencode.ai/config.json", "theme": "catppuccin", "share": "manual", "autoupdate": false, "instructions": [ "AGENTS.md" ], "plugin": [ "lsp-tools" ], "compaction": { "auto": true, "prune": true }, "lsp": false, "permission": { "skill": { "*": "deny" }, "task": { "*": "deny", "general": "allow" }, "edit": "ask", "bash": { "*": "ask", "git status *": "allow", "git log *": "allow", "git diff *": "allow", "git show *": "allow", "git branch *": "allow", "ls *": "allow", "cd *": "allow", "pwd *": "allow", "find *": "allow", "grep *": "allow", "rg *": "allow", "cat *": "allow", "head *": "allow", "tail *": "allow", "less *": "allow", "wc *": "allow", "file *": "allow", "stat *": "allow", "which *": "allow", "diff *": "allow", "du *": "allow", "df *": "allow", "ps *": "allow", "env *": "allow", "echo *": "allow", "printf *": "allow", "journalctl *": "allow", "docker ps *": "allow", "docker logs *": "allow", "docker images *": "allow", "docker inspect *": "allow", "sed *": "allow", "sed -i *": "ask", "sed -i.* *": "ask", "sed --in-place *": "ask", "awk *": "allow", "cut *": "allow", "sort *": "allow", "uniq *": "allow", "tr *": "allow", "xargs *": "allow" }, "lsp_*": "deny" }, "watcher": { "ignore": [ "node_modules/**", "dist/**", ".git/**", ".venv/**" ] }, "default_agent": "coder", "agent": { "architect": { "model": "google/gemini-3-pro-preview", "permission": { "task": { "explorer": "allow", "researcher": "allow" }, "edit": { "*": "deny", "**/*.md": "ask" }, "question": "allow", "lsp_*": "allow", "lsp_prepare_rename": "deny", "lsp_rename": "deny", "lsp_code_actions": "deny", "lsp_code_action_resolve": "deny", "context7_*": "deny", "exa_*": "deny" } }, "coder": { "model": "google/gemini-3-flash-preview", "permission": { "task": { "explorer": "allow", "reviewer": "allow", "researcher": "allow", "debugger": "allow" }, "question": "allow", "lsp_*": "allow", "context7_*": "allow", "exa_*": "allow" } }, "researcher": { "description": "Researcher is an autonomous intelligence designed for deep web search and comprehensive analysis. It orchestrates multi-source information gathering, rigorously cross-validates data to resolve discrepancies, and synthesizes findings into high-fidelity, citation-backed reports. Invoke this agent whenever you need to retrieve, verify, or summarize up-to-date information from the internet.", "model": "google/gemini-3-pro-preview", "mode": "all", "prompt": "{file:./prompts/researcher.md}", "tools": { "todowrite": true, "todoread": true }, "permission": { "task": { "researcher-gemini": "allow", "researcher-qwen": "allow" }, "edit": "deny" } }, "researcher-gemini": { "model": "google/gemini-3-flash-preview", "mode": "subagent", "prompt": "{file:./prompts/research-worker.md}", "tools": { "edit": false }, "permission": { "task": { "fetcher": "allow" } } }, "researcher-qwen": { "model": "qwen/qwen3-coder-plus", "mode": "subagent", "prompt": "{file:./prompts/research-worker.md}", "tools": { "edit": false }, "permission": { "task": { "fetcher": "allow" } } }, "debugger": { "model": "google/gemini-3-pro-preview", "mode": "subagent", "prompt": "{file:./prompts/debugger.md}", "permission": { "task": { "explorer": "allow" }, "edit": { "*": "deny", "/tmp/opencode-debug-*/**": "allow" } } }, "reviewer": { "model": "google/gemini-3-pro-preview", "mode": "subagent", "prompt": "{file:./prompts/reviewer.md}", "permission": { "task": { "explorer": "allow" }, "edit": "deny" } }, "fetcher": { "model": "google/gemini-3-flash-preview", "mode": "subagent", "prompt": "{file:./prompts/fetcher.md}", "permission": { "task": "deny", "edit": "deny" } }, "explorer": { "description": "Fast agent specialized for exploring codebases. Use this when you need to find files by patterns (e.g., \"**/*.tsx\"), search content for keywords (e.g., \"authentication logic\"), locate symbol definitions/references using LSP (e.g., \"where is handleSubmit defined?\"), or answer questions about codebase structure. IMPORTANT: You MUST proactively use this agent for ANY codebase exploration to reduce context consumption. For complex tasks, you MUST decompose them into minimal independent task units and launch multiple Explorer instances in parallel to maximize efficiency. When invoking, you MUST provide a complete retrieval context containing: 1) Task Description/Objective; 2) Exploration Root Absolute Path; 3) Exploration Scope (target/excluded dirs); 4) Exploration Requirements (including thoroughness level: \"quick\"/\"medium\"/\"very thorough\"); and 5) Expected Output Format.", "model": "google/gemini-3-flash-preview", "mode": "subagent", "prompt": "{file:./prompts/explorer.md}", "permission": { "edit": "deny", "task": "deny", "todowrite": "deny", "todoread": "deny", "webfetch": "deny", "lsp_*": "allow", "lsp_diagnostics": "deny", "lsp_prepare_rename": "deny", "lsp_rename": "deny", "lsp_code_actions": "deny", "lsp_code_action_resolve": "deny" } }, "plan": { "model": "anthropic/claude-opus-4-5", "permission": { "task": { "general": "allow", "explore": "allow" } }, "hidden": true }, "build": { "model": "anthropic/claude-opus-4-5", "permission": { "task": { "general": "allow", "explore": "allow" } }, "hidden": true }, "docs": { "model": "google/gemini-3-flash-preview", "hidden": true }, "general": { "model": "google/gemini-3-flash-preview", "hidden": true }, "explore": { "model": "google/gemini-3-flash-preview", "hidden": true } }, "mcp": { "context7": { "type": "remote", "url": "https://mcp.context7.com/mcp", "headers": { "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}" }, "timeout": 60000, "enabled": true }, "exa": { "type": "remote", "url": "https://mcp.exa.ai/mcp", "timeout": 60000, "enabled": true }, "sourcegraph": { "type": "remote", "url": "http://127.0.0.1:18080/mcp/sourcegraph", "timeout": 60000, "enabled": {env:NETEASE_MCP_ENABLED} } }, "enabled_providers": [ "anthropic", "google", "qwen" ], "small_model": "qwen/qwen3-coder-flash", "provider": { "anthropic": { "options": { "baseURL": "https://gpt-load.kk1.fun/proxy/anthropic/v1", "apiKey": "{env:ANTHROPIC_API_KEY}" } }, "google": { "options": { "baseURL": "https://gpt-load.kk1.fun/proxy/gemini/v1beta", "apiKey": "{env:GEMINI_API_KEY}" } }, "qwen": { "npm": "@ai-sdk/openai-compatible", "name": "qwen", "options": { "baseURL": "https://gpt-load.kk1.fun/proxy/openai/v1", "apiKey": "{env:QWEN_API_KEY}" }, "models": { "qwen3-coder-plus": { "name": "qwen3-coder-plus", "limit": { "context": 128000, "output": 65536 } }, "qwen3-coder-flash": { "name": "qwen3-coder-flash", "limit": { "context": 128000, "output": 65536 } } } } }, "keybinds": { "app_exit": "<leader>q", "tool_details": "<leader>d", "messages_half_page_up": "ctrl+shift+u,ctrl+alt+u", "messages_half_page_down": "ctrl+shift+d,ctrl+alt+d", "messages_last": "ctrl+shift+g,ctrl+alt+g,end" } } ``` ### Plugins _No response_ ### OpenCode version _No response_ ### Steps to reproduce _No response_ ### Screenshot and/or share link _No response_ ### Operating System _No response_ ### Terminal _No response_
yindo added the bug label 2026-02-16 18:05:01 -05:00
yindo closed this issue 2026-02-16 18:05:01 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 18, 2026):

This issue might be a duplicate of existing issues. Please check:

  • #8990: MCP servers showing as disabled - Same issue where MCP servers show disabled in 1.1.24 despite enabled: true being set in config

Feel free to ignore if none of these address your specific case.

@github-actions[bot] commented on GitHub (Jan 18, 2026): This issue might be a duplicate of existing issues. Please check: - #8990: MCP servers showing as `disabled` - Same issue where MCP servers show disabled in 1.1.24 despite `enabled: true` being set in config Feel free to ignore if none of these address your specific case.
Author
Owner

@rekram1-node commented on GitHub (Jan 18, 2026):

There was a regression introduced by an external contributor, should have reviewed more throughly.

See comment: https://github.com/anomalyco/opencode/issues/8990#issuecomment-3762612522

for workaround

@rekram1-node commented on GitHub (Jan 18, 2026): There was a regression introduced by an external contributor, should have reviewed more throughly. See comment: https://github.com/anomalyco/opencode/issues/8990#issuecomment-3762612522 for workaround
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#6709