[Feature Request] Model-Provider Based Theme Auto-Selection
Summary
Add native support for automatically assigning themes based on the selected LLM provider or model. This would allow users to visually distinguish between different AI models in their terminal.
Use Case
When working with multiple AI coding assistants simultaneously (e.g., Claude for complex coding, GPT-4 for quick tasks, Grok for exploration), having distinct visual themes per model makes it immediately obvious which model is active in each terminal window.
Proposed Solutions
Option A: Model-Theme Mapping in Config
Add support for a modelThemes mapping in the config:
{
"modelThemes": {
"anthropic/*": "anthropic",
"google/*": "google",
"xai/*": "xai",
"openai/*": "openai"
}
}
Option B: Provider-Default Themes
Allow providers to specify default themes:
{
"provider": {
"anthropic": {
"theme": "anthropic-orange"
}
}
}
Option C: Model Config Theme Property
Allow specifying theme per model:
{
"provider": {
"anthropic": {
"models": {
"claude-sonnet-4-5": {
"theme": "anthropic-orange"
}
}
}
}
}
Benefits
- Visual Clarity: Immediately identify which AI model is active
- Reduced Errors: Avoid accidentally using the wrong model
- Better Workflow: Multiple terminals with different models become visually distinct
- Extensible: Users can customize themes for their preferred models
Workaround (Current Solution)
I've created a wrapper script that achieves this:
- Detects provider from model ID (format:
provider/model-id) - Automatically applies matching theme
- Supports 8+ providers with custom themes
- Easy to extend with new providers
Location: ~/.config/opencode/scripts/opencode-model-theme
References
This is a common feature request pattern in terminal AI tools. Similar functionality exists in:
- Some VS Code extensions for AI assistants
- Claude Code's model switching indicators
Additional Context
- This could also be extended to support different themes for different agents (build vs plan)
- The feature should be backward compatible with existing theme configurations
- Consider adding a UI indicator showing current model/theme in the status bar
Would love to see this as a native feature! The wrapper works great, but native support would be cleaner and more maintainable.