fix: update Claude 4 Sonnet context window to 1M tokens

- Update claude-sonnet-4-20250514 and claude-opus-4-20250514 from 200k to 1M tokens across all providers
- Fix Anthropic provider model definitions
- Fix Bedrock provider model definitions
- Fix Vertex AI provider model definitions
- Fix OpenRouter default model info
- Update LiteLLM fallback logic to default to 1M tokens for Claude 4 models
- Update test expectations to reflect correct 1M token context window

Fixes #5726
This commit is contained in:
Roo 2025-07-15 08:44:24 +00:00
parent 8a3dcfb593
commit 3a2278ab2e
6 changed files with 15 additions and 9 deletions

View file

@ -8,7 +8,7 @@ export const anthropicDefaultModelId: AnthropicModelId = "claude-sonnet-4-202505
export const anthropicModels = {
"claude-sonnet-4-20250514": {
maxTokens: 64_000, // Overridden to 8k if `enableReasoningEffort` is false.
contextWindow: 200_000,
contextWindow: 1_000_000, // 1M token context window
supportsImages: true,
supportsComputerUse: true,
supportsPromptCache: true,
@ -20,7 +20,7 @@ export const anthropicModels = {
},
"claude-opus-4-20250514": {
maxTokens: 32_000, // Overridden to 8k if `enableReasoningEffort` is false.
contextWindow: 200_000,
contextWindow: 1_000_000, // 1M token context window
supportsImages: true,
supportsComputerUse: true,
supportsPromptCache: true,

View file

@ -69,7 +69,7 @@ export const bedrockModels = {
},
"anthropic.claude-sonnet-4-20250514-v1:0": {
maxTokens: 8192,
contextWindow: 200_000,
contextWindow: 1_000_000, // 1M token context window
supportsImages: true,
supportsComputerUse: true,
supportsPromptCache: true,
@ -84,7 +84,7 @@ export const bedrockModels = {
},
"anthropic.claude-opus-4-20250514-v1:0": {
maxTokens: 8192,
contextWindow: 200_000,
contextWindow: 1_000_000, // 1M token context window
supportsImages: true,
supportsComputerUse: true,
supportsPromptCache: true,

View file

@ -5,7 +5,7 @@ export const openRouterDefaultModelId = "anthropic/claude-sonnet-4"
export const openRouterDefaultModelInfo: ModelInfo = {
maxTokens: 8192,
contextWindow: 200_000,
contextWindow: 1_000_000, // 1M token context window for Claude 4 Sonnet
supportsImages: true,
supportsComputerUse: true,
supportsPromptCache: true,

View file

@ -165,7 +165,7 @@ export const vertexModels = {
},
"claude-sonnet-4@20250514": {
maxTokens: 8192,
contextWindow: 200_000,
contextWindow: 1_000_000, // 1M token context window
supportsImages: true,
supportsComputerUse: true,
supportsPromptCache: true,
@ -177,7 +177,7 @@ export const vertexModels = {
},
"claude-opus-4@20250514": {
maxTokens: 8192,
contextWindow: 200_000,
contextWindow: 1_000_000, // 1M token context window
supportsImages: true,
supportsComputerUse: true,
supportsPromptCache: true,

View file

@ -51,9 +51,15 @@ export async function getLiteLLMModels(apiKey: string, baseUrl: string): Promise
)
}
// Determine default context window based on model
let defaultContextWindow = 200000
if (litellmModelName.includes("claude-sonnet-4") || litellmModelName.includes("claude-opus-4")) {
defaultContextWindow = 1000000 // 1M tokens for Claude 4 models
}
models[modelName] = {
maxTokens: modelInfo.max_tokens || 8192,
contextWindow: modelInfo.max_input_tokens || 200000,
contextWindow: modelInfo.max_input_tokens || defaultContextWindow,
supportsImages: Boolean(modelInfo.supports_vision),
// litellm_params.model may have a prefix like openrouter/
supportsComputerUse,

View file

@ -2216,7 +2216,7 @@ describe("getTelemetryProperties", () => {
mockCline.api = {
getModel: vi.fn().mockReturnValue({
id: "claude-sonnet-4-20250514",
info: { contextWindow: 200000 },
info: { contextWindow: 1000000 },
}),
}
})