[Feature Request] Model-Provider Based Theme Auto-Selection #4078

Open
opened 2026-02-16 17:42:32 -05:00 by yindo · 0 comments
Owner

Originally created by @Jos-few43 on GitHub (Jan 2, 2026).

Originally assigned to: @thdxr on GitHub.

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

  1. Visual Clarity: Immediately identify which AI model is active
  2. Reduced Errors: Avoid accidentally using the wrong model
  3. Better Workflow: Multiple terminals with different models become visually distinct
  4. 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.

Originally created by @Jos-few43 on GitHub (Jan 2, 2026). Originally assigned to: @thdxr on GitHub. ## 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: ```json { "modelThemes": { "anthropic/*": "anthropic", "google/*": "google", "xai/*": "xai", "openai/*": "openai" } } ``` ### Option B: Provider-Default Themes Allow providers to specify default themes: ```json { "provider": { "anthropic": { "theme": "anthropic-orange" } } } ``` ### Option C: Model Config Theme Property Allow specifying theme per model: ```json { "provider": { "anthropic": { "models": { "claude-sonnet-4-5": { "theme": "anthropic-orange" } } } } } ``` ## Benefits 1. **Visual Clarity**: Immediately identify which AI model is active 2. **Reduced Errors**: Avoid accidentally using the wrong model 3. **Better Workflow**: Multiple terminals with different models become visually distinct 4. **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.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#4078