Problem
CodeNomad currently has no model management UI or configuration. When a provider plugin (e.g. @omniroute/opencode-plugin) emits a large catalog — 600+ models from a live /v1/models endpoint — the model picker becomes completely unusable. There is no way to:
- Disable individual models from a provider
- Whitelist only the models actually used in a project
- Persist model visibility preferences across sessions
The OpenCode Windows desktop app does offer per-model enable/disable toggles in its settings UI, which partially mitigates this. However:
- CLI/TUI users (the primary CodeNomad interface) have no such UI
- Even in the desktop app, toggling off 570+ models one by one is tedious
- There is no config-file equivalent (e.g. provider..models..enabled: false)
Current workaround (fragile)
A second curator plugin registered after the provider plugin can re-overwrite config.provider[] with a filtered model set via the config hook. This requires:
- Understanding OpenCode/CodeNomad's config-hook merge semantics
- Maintaining a separate plugin file with a hardcoded allowlist
- Knowing that plugin array order matters
- Full provider entry replacement (nested mutation breaks the provider)
Suggested solution
Provider-level model management — either via config or a dedicated UI:
Config approach (simplest):
When enabled: false (or the model is absent from the config while the provider emits it), the model is hidden from the picker. When no enabled filtering is configured, all models are shown (current behavior).
UI approach (power-user):
A /models manage command or settings panel that lists all models per provider with enable/disable toggles, persisting to the config file.
Broader scope
This request extends to general provider management:
- Enable/disable entire providers
- Reorder providers in the picker
- Set default models per agent type
- Bulk enable/disable operations
Environment
- CodeNomad / OpenCode version: 1.18.13
- Plugin: @omniroute/opencode-plugin v0.2.1
- Provider: OmniRoute (local instance at http://127.0.0.1:18080)
- OS: Windows 11
Problem
CodeNomad currently has no model management UI or configuration. When a provider plugin (e.g. @omniroute/opencode-plugin) emits a large catalog — 600+ models from a live /v1/models endpoint — the model picker becomes completely unusable. There is no way to:
The OpenCode Windows desktop app does offer per-model enable/disable toggles in its settings UI, which partially mitigates this. However:
Current workaround (fragile)
A second curator plugin registered after the provider plugin can re-overwrite config.provider[] with a filtered model set via the config hook. This requires:
Suggested solution
Provider-level model management — either via config or a dedicated UI:
Config approach (simplest):
When enabled: false (or the model is absent from the config while the provider emits it), the model is hidden from the picker. When no enabled filtering is configured, all models are shown (current behavior).
UI approach (power-user):
A /models manage command or settings panel that lists all models per provider with enable/disable toggles, persisting to the config file.
Broader scope
This request extends to general provider management:
Environment