diff --git a/internal/config/oauth_model_alias_migration.go b/internal/config/oauth_model_alias_migration.go index 5cc8053a..f52df27a 100644 --- a/internal/config/oauth_model_alias_migration.go +++ b/internal/config/oauth_model_alias_migration.go @@ -17,6 +17,7 @@ var antigravityModelConversionTable = map[string]string{ "gemini-claude-sonnet-4-5": "claude-sonnet-4-5", "gemini-claude-sonnet-4-5-thinking": "claude-sonnet-4-5-thinking", "gemini-claude-opus-4-5-thinking": "claude-opus-4-5-thinking", + "gemini-claude-opus-4-6-thinking": "claude-opus-4-6-thinking", } // defaultAntigravityAliases returns the default oauth-model-alias configuration @@ -30,6 +31,7 @@ func defaultAntigravityAliases() []OAuthModelAlias { {Name: "claude-sonnet-4-5", Alias: "gemini-claude-sonnet-4-5"}, {Name: "claude-sonnet-4-5-thinking", Alias: "gemini-claude-sonnet-4-5-thinking"}, {Name: "claude-opus-4-5-thinking", Alias: "gemini-claude-opus-4-5-thinking"}, + {Name: "claude-opus-4-6-thinking", Alias: "gemini-claude-opus-4-6-thinking"}, } } diff --git a/internal/config/oauth_model_alias_migration_test.go b/internal/config/oauth_model_alias_migration_test.go index db9c0a11..cd73b9d5 100644 --- a/internal/config/oauth_model_alias_migration_test.go +++ b/internal/config/oauth_model_alias_migration_test.go @@ -131,6 +131,9 @@ func TestMigrateOAuthModelAlias_ConvertsAntigravityModels(t *testing.T) { if !strings.Contains(content, "claude-opus-4-5-thinking") { t.Fatal("expected missing default alias claude-opus-4-5-thinking to be added") } + if !strings.Contains(content, "claude-opus-4-6-thinking") { + t.Fatal("expected missing default alias claude-opus-4-6-thinking to be added") + } } func TestMigrateOAuthModelAlias_AddsDefaultIfNeitherExists(t *testing.T) { diff --git a/internal/registry/model_definitions_static_data.go b/internal/registry/model_definitions_static_data.go index 45b1f133..295f3364 100644 --- a/internal/registry/model_definitions_static_data.go +++ b/internal/registry/model_definitions_static_data.go @@ -28,6 +28,18 @@ func GetClaudeModels() []*ModelInfo { MaxCompletionTokens: 64000, Thinking: &ThinkingSupport{Min: 1024, Max: 128000, ZeroAllowed: true, DynamicAllowed: false}, }, + { + ID: "claude-opus-4-6-20260205", + Object: "model", + Created: 1770318000, // 2026-02-05 + OwnedBy: "anthropic", + Type: "claude", + DisplayName: "Claude 4.6 Opus", + Description: "Premium model combining maximum intelligence with practical performance", + ContextLength: 200000, + MaxCompletionTokens: 64000, + Thinking: &ThinkingSupport{Min: 1024, Max: 128000, ZeroAllowed: true, DynamicAllowed: false}, + }, { ID: "claude-opus-4-5-20251101", Object: "model", @@ -854,6 +866,7 @@ func GetAntigravityModelConfig() map[string]*AntigravityModelConfig { "gemini-3-flash": {Thinking: &ThinkingSupport{Min: 128, Max: 32768, ZeroAllowed: false, DynamicAllowed: true, Levels: []string{"minimal", "low", "medium", "high"}}}, "claude-sonnet-4-5-thinking": {Thinking: &ThinkingSupport{Min: 1024, Max: 128000, ZeroAllowed: true, DynamicAllowed: true}, MaxCompletionTokens: 64000}, "claude-opus-4-5-thinking": {Thinking: &ThinkingSupport{Min: 1024, Max: 128000, ZeroAllowed: true, DynamicAllowed: true}, MaxCompletionTokens: 64000}, + "claude-opus-4-6-thinking": {Thinking: &ThinkingSupport{Min: 1024, Max: 128000, ZeroAllowed: true, DynamicAllowed: true}, MaxCompletionTokens: 64000}, "claude-sonnet-4-5": {MaxCompletionTokens: 64000}, "gpt-oss-120b-medium": {}, "tab_flash_lite_preview": {}, diff --git a/internal/util/claude_model_test.go b/internal/util/claude_model_test.go index 17f6106e..d20c337d 100644 --- a/internal/util/claude_model_test.go +++ b/internal/util/claude_model_test.go @@ -11,6 +11,7 @@ func TestIsClaudeThinkingModel(t *testing.T) { // Claude thinking models - should return true {"claude-sonnet-4-5-thinking", "claude-sonnet-4-5-thinking", true}, {"claude-opus-4-5-thinking", "claude-opus-4-5-thinking", true}, + {"claude-opus-4-6-thinking", "claude-opus-4-6-thinking", true}, {"Claude-Sonnet-Thinking uppercase", "Claude-Sonnet-4-5-Thinking", true}, {"claude thinking mixed case", "Claude-THINKING-Model", true},