Skip to content

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

Closed as duplicate

Description

@fengwk

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

Activity

  1. github-actions commented on Jan 18, 2026

    @github-actions
    Contributor

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

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

  2. rekram1-node commented on Jan 18, 2026

    @rekram1-node
    Contributor

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

    See comment: #8990 (comment)

    for workaround

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions