diff --git a/packages/types/src/providers/anthropic.ts b/packages/types/src/providers/anthropic.ts index e6d839edc6..1c0977bd06 100644 --- a/packages/types/src/providers/anthropic.ts +++ b/packages/types/src/providers/anthropic.ts @@ -6,7 +6,7 @@ export type AnthropicModelId = keyof typeof anthropicModels export const anthropicDefaultModelId: AnthropicModelId = "claude-sonnet-4-20250514" export const anthropicModels = { - "claude-sonnet-4-5-20250514": { + "claude-4.5-sonnet": { maxTokens: 64_000, // Overridden to 8k if `enableReasoningEffort` is false. contextWindow: 200_000, // Default 200K, extendable to 1M with beta flag 'context-1m-2025-08-07' supportsImages: true, diff --git a/packages/types/src/providers/bedrock.ts b/packages/types/src/providers/bedrock.ts index febf051dc5..fb5072e60c 100644 --- a/packages/types/src/providers/bedrock.ts +++ b/packages/types/src/providers/bedrock.ts @@ -67,7 +67,7 @@ export const bedrockModels = { maxCachePoints: 1, cachableFields: ["system"], }, - "anthropic.claude-sonnet-4-5-20250514-v1:0": { + "anthropic.claude-4.5-sonnet-v1:0": { maxTokens: 8192, contextWindow: 200_000, supportsImages: true, diff --git a/packages/types/src/providers/claude-code.ts b/packages/types/src/providers/claude-code.ts index 63ee5cf388..fb44b57658 100644 --- a/packages/types/src/providers/claude-code.ts +++ b/packages/types/src/providers/claude-code.ts @@ -40,8 +40,8 @@ export function getClaudeCodeModelId(baseModelId: ClaudeCodeModelId, useVertex = } export const claudeCodeModels = { - "claude-sonnet-4-5-20250514": { - ...anthropicModels["claude-sonnet-4-5-20250514"], + "claude-4.5-sonnet": { + ...anthropicModels["claude-4.5-sonnet"], supportsImages: false, supportsPromptCache: true, // Claude Code does report cache tokens supportsReasoningEffort: false, diff --git a/packages/types/src/providers/vertex.ts b/packages/types/src/providers/vertex.ts index 707e11e655..a066a4102d 100644 --- a/packages/types/src/providers/vertex.ts +++ b/packages/types/src/providers/vertex.ts @@ -163,7 +163,7 @@ export const vertexModels = { inputPrice: 1.25, outputPrice: 5, }, - "claude-sonnet-4-5@20250514": { + "claude-4.5-sonnet": { maxTokens: 8192, contextWindow: 200_000, supportsImages: true, diff --git a/src/api/providers/__tests__/anthropic.spec.ts b/src/api/providers/__tests__/anthropic.spec.ts index 98c727abbd..7b74c87dfc 100644 --- a/src/api/providers/__tests__/anthropic.spec.ts +++ b/src/api/providers/__tests__/anthropic.spec.ts @@ -268,10 +268,10 @@ describe("AnthropicHandler", () => { it("should handle Claude 4.5 Sonnet model correctly", () => { const handler = new AnthropicHandler({ apiKey: "test-api-key", - apiModelId: "claude-sonnet-4-5-20250514", + apiModelId: "claude-4.5-sonnet", }) const model = handler.getModel() - expect(model.id).toBe("claude-sonnet-4-5-20250514") + expect(model.id).toBe("claude-4.5-sonnet") expect(model.info.maxTokens).toBe(64000) expect(model.info.contextWindow).toBe(200000) expect(model.info.supportsReasoningBudget).toBe(true) @@ -280,7 +280,7 @@ describe("AnthropicHandler", () => { it("should enable 1M context for Claude 4.5 Sonnet when beta flag is set", () => { const handler = new AnthropicHandler({ apiKey: "test-api-key", - apiModelId: "claude-sonnet-4-5-20250514", + apiModelId: "claude-4.5-sonnet", anthropicBeta1MContext: true, }) const model = handler.getModel() diff --git a/src/api/providers/anthropic.ts b/src/api/providers/anthropic.ts index 43538438e2..80ef572b5b 100644 --- a/src/api/providers/anthropic.ts +++ b/src/api/providers/anthropic.ts @@ -47,14 +47,14 @@ export class AnthropicHandler extends BaseProvider implements SingleCompletionHa // Add 1M context beta flag if enabled for Claude Sonnet 4 and 4.5 if ( - (modelId === "claude-sonnet-4-20250514" || modelId === "claude-sonnet-4-5-20250514") && + (modelId === "claude-sonnet-4-20250514" || modelId === "claude-4.5-sonnet") && this.options.anthropicBeta1MContext ) { betas.push("context-1m-2025-08-07") } switch (modelId) { - case "claude-sonnet-4-5-20250514": + case "claude-4.5-sonnet": case "claude-sonnet-4-20250514": case "claude-opus-4-1-20250805": case "claude-opus-4-20250514": @@ -114,7 +114,7 @@ export class AnthropicHandler extends BaseProvider implements SingleCompletionHa // Then check for models that support prompt caching switch (modelId) { - case "claude-sonnet-4-5-20250514": + case "claude-4.5-sonnet": case "claude-sonnet-4-20250514": case "claude-opus-4-1-20250805": case "claude-opus-4-20250514": @@ -249,10 +249,7 @@ export class AnthropicHandler extends BaseProvider implements SingleCompletionHa let info: ModelInfo = anthropicModels[id] // If 1M context beta is enabled for Claude Sonnet 4 or 4.5, update the model info - if ( - (id === "claude-sonnet-4-20250514" || id === "claude-sonnet-4-5-20250514") && - this.options.anthropicBeta1MContext - ) { + if ((id === "claude-sonnet-4-20250514" || id === "claude-4.5-sonnet") && this.options.anthropicBeta1MContext) { // Use the tier pricing for 1M context const tier = info.tiers?.[0] if (tier) { diff --git a/webview-ui/src/components/settings/providers/Anthropic.tsx b/webview-ui/src/components/settings/providers/Anthropic.tsx index 3aeed2b479..224d1965b6 100644 --- a/webview-ui/src/components/settings/providers/Anthropic.tsx +++ b/webview-ui/src/components/settings/providers/Anthropic.tsx @@ -23,7 +23,7 @@ export const Anthropic = ({ apiConfiguration, setApiConfigurationField }: Anthro // Check if the current model supports 1M context beta const supports1MContextBeta = - selectedModel?.id === "claude-sonnet-4-20250514" || selectedModel?.id === "claude-sonnet-4-5-20250514" + selectedModel?.id === "claude-sonnet-4-20250514" || selectedModel?.id === "claude-4.5-sonnet" const handleInputChange = useCallback( (