Add enabled_themes config option to restrict available themes #8456

Open
opened 2026-02-16 18:10:01 -05:00 by yindo · 1 comment
Owner

Originally created by @jobrk on GitHub (Feb 3, 2026).

Originally assigned to: @thdxr on GitHub.

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

Problem

There's no way to limit which themes appear in the theme selector. Organizations or users who want to enforce consistent theming, or simply reduce choice overload, must rely on all 30+ themes being visible.

Proposed Solution

Add an enabled_themes config option (similar to enabled_providers) that accepts an array of theme IDs. When set, only those themes appear in the selector.

{
  "enabled_themes": ["opencode", "tokyonight"]
}

Use Cases

  • Teams enforcing consistent theming across developers
  • Users who only want 2-3 themes they actually use
  • Terminal environments where only certain themes display correctly

Implementation Notes

  • Filter in TUI theme context (all() method)
  • Filter in Desktop/Web app (layout and settings components)
  • Empty array or unset = all themes available (backwards compatible)
Originally created by @jobrk on GitHub (Feb 3, 2026). Originally assigned to: @thdxr on GitHub. ### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request ## Problem There's no way to limit which themes appear in the theme selector. Organizations or users who want to enforce consistent theming, or simply reduce choice overload, must rely on all 30+ themes being visible. ## Proposed Solution Add an `enabled_themes` config option (similar to `enabled_providers`) that accepts an array of theme IDs. When set, only those themes appear in the selector. ```json { "enabled_themes": ["opencode", "tokyonight"] } ``` ## Use Cases - Teams enforcing consistent theming across developers - Users who only want 2-3 themes they actually use - Terminal environments where only certain themes display correctly ## Implementation Notes - Filter in TUI theme context (`all()` method) - Filter in Desktop/Web app (layout and settings components) - Empty array or unset = all themes available (backwards compatible)
yindo added the discussion label 2026-02-16 18:10:01 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Feb 3, 2026):

This issue might be a duplicate of existing issues. Please check:

  • #9203: Feature: Support disabled_models config to hide specific models

While #9203 addresses models rather than themes, it proposes a very similar filtering mechanism (using a config option to hide/restrict available options in the UI). You may want to coordinate the implementation approach to maintain consistency with how similar features are handled.

Feel free to ignore if you believe the implementation approach should differ significantly.

@github-actions[bot] commented on GitHub (Feb 3, 2026): This issue might be a duplicate of existing issues. Please check: - #9203: Feature: Support disabled_models config to hide specific models While #9203 addresses models rather than themes, it proposes a very similar filtering mechanism (using a config option to hide/restrict available options in the UI). You may want to coordinate the implementation approach to maintain consistency with how similar features are handled. Feel free to ignore if you believe the implementation approach should differ significantly.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#8456