You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Desktop App: MCP enable/disable toggle does not persist to opencode.json #40079
The Desktop App's MCP settings toggle (enable/disable) only affects runtime state. It does not write the change back to opencode.json. After restarting the app, the sidecar re-reads opencode.json (which still has enabled: true) and re-starts the MCP servers that the user had disabled via the UI.
This makes the UI toggle misleading: the displayed state does not survive a restart, and users cannot trust whether an MCP is actually enabled or disabled.
Steps to Reproduce
Open the Desktop App
Go to MCP settings
Toggle an MCP off (e.g., context7 or figma)
Confirm the MCP process stops (the toggle is effective at runtime)
Restart the Desktop App
Result: The MCP is running again — opencode.json still contains "enabled": true
Expected Behavior
Toggling an MCP off in the Desktop App UI should write "enabled": false to opencode.json (or an equivalent persistent store), so the disabled state survives restarts.
Actual Behavior
The toggle only stops/starts the MCP process at runtime
opencode.json is never updated by the UI toggle
On restart, the sidecar reads the unchanged config and re-enables the MCP
The UI shows the MCP as enabled again, with no indication that the user's previous toggle was lost
Environment
opencode Desktop App: v1.18.11
OS: macOS (darwin arm64)
Config file:~/.config/opencode/opencode.json
Additional Context
Verified that:
The Desktop App does not modify opencode.json on startup or on toggle (file mtime unchanged)
The MCP processes do stop when toggled off (runtime control works)
The Desktop App's internal data (default.dat, opencode.global.dat, workspace .dat files, Local Storage) do not appear to store MCP enabled/disabled state
Manually editing opencode.json to set "enabled": false is currently the only way to persistently disable an MCP
Activity
github-actions commentedon Oct 1, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.