diff --git a/apps/server/src/claudeModelOptions.test.ts b/apps/server/src/claudeModelOptions.test.ts index 005609008f33..e03ac150652a 100644 --- a/apps/server/src/claudeModelOptions.test.ts +++ b/apps/server/src/claudeModelOptions.test.ts @@ -17,15 +17,16 @@ describe("compileClaudeModelSelection", () => { it("compiles context, effort, and settings together", () => { expect( compileClaudeModelSelection( - selection("claude-fable-5", [ + selection("claude-opus-4-6", [ { id: "contextWindow", value: "1m" }, - { id: "effort", value: "ultracode" }, + { id: "effort", value: "max" }, + { id: "fastMode", value: true }, ]), ), ).toMatchObject({ - apiModelId: "claude-fable-5[1m]", - effort: "xhigh", - settings: { ultracode: true }, + apiModelId: "claude-opus-4-6[1m]", + effort: "max", + settings: { fastMode: true }, }); }); diff --git a/apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts b/apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts index 26246b2038ba..1ad916ec2548 100644 --- a/apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts +++ b/apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts @@ -97,7 +97,6 @@ import { } from "../../provider/Drivers/ClaudeHome.ts"; import { BUNDLED_CLAUDE_MODEL_CATALOG, - resolveClaudeCatalogContextWindow, resolveClaudeCatalogContextWindowTokens, } from "../../provider/ClaudeModelCatalog.ts"; import { @@ -138,12 +137,9 @@ export const CLAUDE_PROVIDER = ProviderDriverKind.make("claudeAgent"); export const CLAUDE_AGENT_SDK_QUERY_PROTOCOL = "claude-agent-sdk.query" as const; function claudeContextWindow(modelSelection: ModelSelection): number | null { - if (modelSelection.model === "claude-opus-4-6" || modelSelection.model === "claude-opus-4-7") { - return 1_000_000; - } - return resolveClaudeCatalogContextWindow(BUNDLED_CLAUDE_MODEL_CATALOG, modelSelection) === "1m" - ? 1_000_000 - : 200_000; + return ( + resolveClaudeCatalogContextWindowTokens(BUNDLED_CLAUDE_MODEL_CATALOG, modelSelection) ?? null + ); } export function claudeProviderTurnTokenUsage( diff --git a/apps/server/src/provider/ClaudeModelCatalog.ts b/apps/server/src/provider/ClaudeModelCatalog.ts index 1fb80cb4a57b..e601e9dc9392 100644 --- a/apps/server/src/provider/ClaudeModelCatalog.ts +++ b/apps/server/src/provider/ClaudeModelCatalog.ts @@ -215,7 +215,7 @@ export function isClaudeCatalogUltracodeEffort(effort: string | null | undefined return effort === "ultracode"; } -export function resolveClaudeCatalogContextWindow( +function resolveClaudeCatalogContextWindow( catalog: ClaudeModelCatalog, modelSelection: ModelSelection | undefined, ): string | undefined { diff --git a/apps/server/src/provider/model-manifest.json b/apps/server/src/provider/model-manifest.json index da2ef052344d..0ac967281144 100644 --- a/apps/server/src/provider/model-manifest.json +++ b/apps/server/src/provider/model-manifest.json @@ -1,6 +1,6 @@ { "version": 1, - "updatedAt": "2026-10-07T18:00:00Z", + "updatedAt": "2026-10-07T19:00:00Z", "compatibility": [ { "driver": "codex", @@ -145,22 +145,6 @@ } ], "promptInjectedValues": ["ultrathink"] - }, - { - "id": "contextWindow", - "label": "Context Window", - "type": "select", - "options": [ - { - "id": "200k", - "label": "200k" - }, - { - "id": "1m", - "label": "1M", - "isDefault": true - } - ] } ] }, @@ -170,15 +154,7 @@ "ultracode": "xhigh", "ultrathink": null }, - "modelSuffixes": { - "contextWindow": { - "1m": "[1m]" - } - }, - "contextWindowTokens": { - "200k": 200000, - "1m": 1000000 - } + "fixedContextWindowTokens": 1000000 } } }, @@ -204,23 +180,13 @@ ], "promptInjectedValues": ["ultrathink"] }, - { "id": "fastMode", "label": "Fast Mode", "type": "boolean" }, - { - "id": "contextWindow", - "label": "Context Window", - "type": "select", - "options": [ - { "id": "200k", "label": "200k" }, - { "id": "1m", "label": "1M", "isDefault": true } - ] - } + { "id": "fastMode", "label": "Fast Mode", "type": "boolean" } ] }, "adapter": { "claudeCode": { "effortMap": { "ultracode": "xhigh", "ultrathink": null }, - "modelSuffixes": { "contextWindow": { "1m": "[1m]" } }, - "contextWindowTokens": { "200k": 200000, "1m": 1000000 } + "fixedContextWindowTokens": 1000000 } } }, @@ -269,22 +235,6 @@ "id": "fastMode", "label": "Fast Mode", "type": "boolean" - }, - { - "id": "contextWindow", - "label": "Context Window", - "type": "select", - "options": [ - { - "id": "200k", - "label": "200k" - }, - { - "id": "1m", - "label": "1M", - "isDefault": true - } - ] } ] }, @@ -294,15 +244,7 @@ "ultracode": "xhigh", "ultrathink": null }, - "modelSuffixes": { - "contextWindow": { - "1m": "[1m]" - } - }, - "contextWindowTokens": { - "200k": 200000, - "1m": 1000000 - } + "fixedContextWindowTokens": 1000000 } } }, @@ -524,7 +466,7 @@ ] }, "adapter": { - "claudeCode": {} + "claudeCode": { "fixedContextWindowTokens": 200000 } } }, "sonnet-5": { @@ -562,22 +504,6 @@ } ], "promptInjectedValues": ["ultrathink"] - }, - { - "id": "contextWindow", - "label": "Context Window", - "type": "select", - "options": [ - { - "id": "200k", - "label": "200k", - "isDefault": true - }, - { - "id": "1m", - "label": "1M" - } - ] } ] }, @@ -586,15 +512,7 @@ "effortMap": { "ultrathink": null }, - "modelSuffixes": { - "contextWindow": { - "1m": "[1m]" - } - }, - "contextWindowTokens": { - "200k": 200000, - "1m": 1000000 - } + "fixedContextWindowTokens": 1000000 } } }, @@ -682,23 +600,13 @@ { "id": "ultrathink", "label": "Ultrathink" } ], "promptInjectedValues": ["ultrathink"] - }, - { - "id": "contextWindow", - "label": "Context Window", - "type": "select", - "options": [ - { "id": "200k", "label": "200k" }, - { "id": "1m", "label": "1M", "isDefault": true } - ] } ] }, "adapter": { "claudeCode": { "effortMap": { "ultrathink": null }, - "modelSuffixes": { "contextWindow": { "1m": "[1m]" } }, - "contextWindowTokens": { "200k": 200000, "1m": 1000000 } + "fixedContextWindowTokens": 1000000 } } }, @@ -713,7 +621,7 @@ ] }, "adapter": { - "claudeCode": {} + "claudeCode": { "fixedContextWindowTokens": 200000 } } } },