Skip to content

Desktop v1.15.13: MCP servers not loaded (race condition in PR #28937 + plugin-injected MCPs ignored) #30130

Closed

Description

@gabriel-ferraresi

Description

On Windows Desktop v1.15.13, MCP servers do not appear in the UI panel — neither native MCPs (configured in opencode.json) nor plugin-injected MCPs (registered via the plugin config hook). The same config works correctly in the CLI, where all MCPs connect and function normally.

This appears to be a regression introduced by PR #28937 ( ix(app): start MCP servers only for open directories), which added an mcp: boolean flag to bootstrapDirectory() and child().

Two distinct problems:

1. Race condition in PR #28937 — native MCPs not loaded

The Desktop bootstraps directories in two passes:

  • First: home directory (C:\Users<user>) via bootstrap: false without mcp: true (from home.tsx, sidebar-project.tsx, sidebar-workspace.tsx,
    otification.tsx)
  • Second: project directory via directory-sync.ts which passes { mcp: true }

The problem: bootstrapDirectory() reads children.mcp(key) synchronously at call time, but �nableMcp() is called asynchronously when directory-sync.ts mounts. If bootstrap runs before the directory-sync context mounts, mcp is alse and MCP queries (mcp.status(), command.list()) are permanently skipped for that bootstrap cycle.

In child-store.ts, the MCP query starts disabled (createSignal(false)) and only enables when �nableMcp() fires. But bootstrapDirectory() has already completed with mcp: false, so the MCP queries are never included.

2. Plugin-injected MCPs not processed by Desktop

Plugins (e.g., oh-my-openagent) register MCPs via the config hook by setting config.mcp. The config handler confirms agents and commands load correctly (13 agents, 20 commands), but MCPs injected via the same hook do not appear in the Desktop UI. This suggests the Desktop may not properly process config.mcp entries returned by plugin config hooks, even though the CLI does.

Plugins

oh-my-openagent v4.5.12

OpenCode version

v1.15.13

Steps to reproduce

  1. Configure MCP servers in global ~/.config/opencode/opencode.json (e.g., context7, chrome-devtools)
  2. Install a plugin that injects MCPs via config hook (e.g., oh-my-openagent)
  3. Open the Desktop app — MCP panel shows no servers
  4. Open the same project in CLI — opencode mcp list --pure shows all servers connected
  5. Reloading the Desktop (Ctrl+Shift+R) or reopening the project tab may temporarily fix native MCPs (forces re-bootstrap with mcp: true), but plugin-injected MCPs remain absent

Screenshot and/or share link

N/A — can provide if needed

Operating System

Windows 11 (10.0.26100)

Terminal

Windows Desktop App / PowerShell 7 (CLI)

Activity

  1. github-actions commented on May 31, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues reporting the same Desktop v1.15.13 MCP panel symptom. Please check:

    All of the above describe the same core symptom (Desktop v1.15.13 MCP panel empty while CLI works). Your issue adds useful analysis around the race condition in PR #28937 and plugin-injected MCPs, which is valuable context — but the root bug appears to be tracked in those existing issues already.

  2. anonfaded commented on May 31, 2026

    @anonfaded

    Same issue happening on macOS...

  3. johnsonsleo commented on Jun 1, 2026

    @johnsonsleo

    same issue+1

  4. Hona commented on Jun 2, 2026

    @Hona
    Member

    Fixed by #30220

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