diff --git a/src/model/app_config.rs b/src/model/app_config.rs index ab6bc10..e6da578 100644 --- a/src/model/app_config.rs +++ b/src/model/app_config.rs @@ -104,8 +104,25 @@ impl AppConfig { // Auto-detect provider from ~/.claude/settings.json if let Some(claude_provider) = detect_claude_settings_provider() { cfg.providers.entry("claude".to_string()).or_insert(claude_provider); + // Register known Claude models as named model roles + let claude_models = [ + ("claude-opus-4-8", "claude-opus-4-8"), + ("claude-sonnet-5", "claude-sonnet-5"), + ("claude-haiku-4-5", "claude-haiku-4-5-20251001"), + ]; + for (role_name, model_name) in &claude_models { + cfg.model_roles.entry(role_name.to_string()).or_insert(ModelRole { + provider: "claude".to_string(), + model: model_name.to_string(), + max_tokens: Some(8192), + context_window: Some(200_000), + temperature: Some(0.7), + }); + } + // Set as default provider only if user hasn't picked a custom default if cfg.default_provider == defaults.default_provider { cfg.default_provider = "claude".to_string(); + cfg.default_model = "claude-opus-4-8".to_string(); } } cfg