Skip to content

tui: "Toggle MCPs" command has no effect when pressing spacebar #36482

Closed

Description

@diegoquiroz

Summary

Toggling MCP servers via the command palette (Ctrl+P → "Toggle MCPs" → spacebar) has no effect. The server's disabled state does not change.

Environment

  • opencode version: opencode2 v0.0.0-next-15355
  • OS: Darwin 25.5.0 (darwin arm64) — MacBook Pro
  • Terminal: TERM=xterm-256color, COLORTERM=truecolor
  • Shell: /bin/zsh
  • Install/channel: next
  • Active plugins: None found in config

Reproduction

  1. Open opencode TUI
  2. Press Ctrl+P to open the command palette
  3. Select "Toggle MCPs"
  4. Navigate to an MCP server entry and press the spacebar
  5. Observe that nothing happens — the server's enabled/disabled state does not change

Expected Behavior

Pressing spacebar on an MCP server in the "Toggle MCPs" dialog should toggle its enabled/disabled state (and optionally persist the change to config).

Actual Behavior

Nothing happens. The MCP server remains in its current state (enabled or disabled) regardless of the spacebar press.

Additional Context

  • MCP servers are defined across three config files:
    • opencode.jsonc (repo root) — 4 AWS servers, all disabled: true
    • apps/frontend/opencode.json — 1 server (prompt-kit)
    • ~/.config/opencode/opencode.jsonc — 2 servers (github_grep, chrome-devtools), both disabled: false
  • The issue is reproducible consistently across all MCP server entries.
  • No error messages are displayed in the TUI when attempting to toggle.

Activity

  1. rekram1-node commented on Jul 12, 2026

    @rekram1-node
    Collaborator

    there is no toggle mcps anymore intentionally removed for now

  2. opencode-agent commented on Jul 12, 2026

    @opencode-agent
    Contributor

    Thanks for reporting this. The V2 TUI accidentally exposed a leftover “Toggle MCPs” entry, but V2 does not support enabling or disabling MCP servers at runtime, so we’re removing that UI in #36531.

    Could you share more about why you wanted to toggle individual MCP servers—what workflow were you using it for, and what problem does disabling one solve for you?

    One relevant V2 difference is Code Mode: MCP tools are discovered and invoked through code rather than all being placed directly into every model prompt. Because of that, configuring many MCP servers no longer carries the same prompt/token cost that motivated runtime toggling in V1.

  3. reopened this on Jul 12, 2026
  4. jerieljan commented on Jul 18, 2026

    @jerieljan

    Ooh, I was about to file a bug report then saw this issue, so I'm glad I'm not the only one surprised about this change:

    Could you share more about why you wanted to toggle individual MCP servers—what workflow were you using it for, and what problem does disabling one solve for you?
    

    For me personally, I disable MCP servers by default and only enable them when necessary.

    For example, I use the Kagi API as an MCP and mid-task I usually go /mcps -> toggle Kagi API so that it only searches with Kagi's APIs when I explicitly want it to happen. It's actually quite vital because I don't want a rogue AI session doing a deep-dive and burning my Kagi API budget because it needed to research and it's set to on.

    It's also a protective measure for some sensitive MCPs that I choose not to enable (e.g., my Notion databases) when I swap to providers that I disagree having access to it.

    Anyway, this can be worked around, but I actually found that toggle handy and would sorely miss it if it's going away.

  5. rekram1-node commented on Jul 18, 2026

    @rekram1-node
    Collaborator

    I think we can bring it back, it turns out we need the functionality for acp so we can add back the toggle

  6. opencode-agent commented on Jul 22, 2026

    @opencode-agent
    Contributor

    Addressed by #37712, following the temporary UI removal in #36531. Runtime MCP controls are now exposed over the V2 server API, restoring the underlying enable/disable capability needed by clients rather than leaving a nonfunctional toggle. Closing as resolved on the v2 branch.

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions