Summary
The OpenCode Desktop app is great, but installing/configuring plugins, MCP servers, and LSP servers currently requires hand-editing opencode.jsonc (e.g. %USERPROFILE%\.config\opencode\opencode.jsonc). For desktop users this is a major pain point:
- Plugins: you must know the exact package spec (e.g.
superpowers@git+https://github.com/obra/superpowers.git vs the plain npm name oh-my-openagent, where a wrong guess pulls an unrelated placeholder package from npm, e.g. the superpowers@0.0.2 squat). One wrong string = silent load failure.
- MCP servers: local servers need exact
command arrays (binary path, args, env vars, timeouts) and remote ones need URL + OAuth + header handling. There is no discoverable, validated UI — a typo in the JSONC silently breaks it.
- LSP servers: need the exact binary path +
--stdio args + file-extension mapping, hand-written per language.
- There is no error surfacing either — a bad plugin/MCP/LSP entry causes silent failures with no dialog in the Desktop UI (users only find out via log files).
Proposal
Add a management UI in the Desktop app, ideally under a "Settings" or "Extensions" section:
- Plugins tab — list installed plugins, add via a documented format, toggle enable/disable, show load status with visible errors (not silent).
- MCP tab — form-based add/edit: type (local/remote), command parts, env vars, enabled toggle; list configured servers with a "Test connection" button.
- LSP tab — form for language, command, extensions; default presets for common languages.
It would also help to surface plugin load failures in the UI instead of only log files.
Environment
- OpenCode Desktop v1.18.15, Windows 11
- Real-world pain point: today I installed Superpowers — the plugin entry cannot simply be
"plugin": ["superpowers"] (npm superpowers@0.0.2 is an unrelated placeholder), so the user must understand superpowers@git+https://github.com/obra/superpowers.git. A GUI with a validated add-flow would eliminate this entire class of mistakes.
Summary
The OpenCode Desktop app is great, but installing/configuring plugins, MCP servers, and LSP servers currently requires hand-editing
opencode.jsonc(e.g.%USERPROFILE%\.config\opencode\opencode.jsonc). For desktop users this is a major pain point:superpowers@git+https://github.com/obra/superpowers.gitvs the plain npm nameoh-my-openagent, where a wrong guess pulls an unrelated placeholder package from npm, e.g. thesuperpowers@0.0.2squat). One wrong string = silent load failure.commandarrays (binary path, args, env vars, timeouts) and remote ones need URL + OAuth + header handling. There is no discoverable, validated UI — a typo in the JSONC silently breaks it.--stdioargs + file-extension mapping, hand-written per language.Proposal
Add a management UI in the Desktop app, ideally under a "Settings" or "Extensions" section:
It would also help to surface plugin load failures in the UI instead of only log files.
Environment
"plugin": ["superpowers"](npmsuperpowers@0.0.2is an unrelated placeholder), so the user must understandsuperpowers@git+https://github.com/obra/superpowers.git. A GUI with a validated add-flow would eliminate this entire class of mistakes.