Repository navigation
Description
Feature hasn't been suggested before.
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
This builds on #5971 (Plugin API for custom sidebar panels). That issue proposes the core API for plugins to register sidebar panels — this issue focuses specifically on giving users control over widget display order and visibility from opencode.json.
Problem
Once multiple plugins register sidebar panels (#5971), users have no way to:
- Reorder widgets (e.g., pin git status above build watcher)
- Hide noisy widgets without uninstalling the plugin
- Override plugin-provided defaults per-project
Proposal
Add a widget key to opencode.json following the existing Record<string, ...> pattern used by mcp, agent, and lsp:
{
"$schema": "https://opencode.ai/config.json",
"widget": {
"opencode-skills-tracker:skills": { "order": 1 },
"opencode-git-status:git": { "order": 2 },
"opencode-git-status:stash": { "enabled": false }
}
}Config schema
// Addition to Config.Info in packages/opencode/src/config/config.ts
widget: z
.record(
z.string(),
z.object({
order: z.number().optional(),
enabled: z.boolean().optional(),
}),
)
.optional(),Resolution
- Plugin provides default
ordervia the sidebar hook from Plugin API for custom sidebar panels #5971 - User config
orderoverrides the plugin value - User config
enabled: falseexcludes the widget from broadcast
Config merging follows the same deep-merge behavior as mcp/agent — project config overrides global config.
Discovery
Users need to know available widget IDs. These could be shown on the /status page (which already lists MCP, LSP, and plugin info).
Related issues
- Plugin API for custom sidebar panels #5971 — Core sidebar panel API (prerequisite)
- [FEATURE]: Plugin Status Bar / Widget Area for Real-Time Plugin State #10400 — Plugin Status Bar / Widget Area
- [FEATURE]: Native StatusLine Hook for Plugins (Context-Free Display) #8619 — Native StatusLine Hook
- [Feature]: Display Project Name and Git Status in TUI #7927 — Git Status in TUI
- [FEATURE]: display loaded skills in status page and sidebar #7533 — Skills in sidebar
Full technical RFC with implementation details: docs/rfcs/sidebar-plugin-api.md (in this repo, if merged)
Activity
[-][FEATURE]: Plugin Sidebar Widget API — Declarative Widgets for TUI & Web[/-][+][FEATURE]: User-configurable widget ordering for plugin sidebar panels[/+]github-actions commentedon Feb 24, 2026
Thanks for updating the issue! It now meets the contributing guidelines and has been marked compliant.
js-krinay commentedon Feb 24, 2026
Closing — the core sidebar panel API is already tracked in #5971. The user-configurable ordering idea can be proposed as a follow-up once #5971 lands.