diff --git a/src/shared/model-capability-aliases.test.ts b/src/shared/model-capability-aliases.test.ts index b6f5b6641..4581d84c1 100644 --- a/src/shared/model-capability-aliases.test.ts +++ b/src/shared/model-capability-aliases.test.ts @@ -107,4 +107,14 @@ describe("model-capability-aliases", () => { ruleID: "claude-thinking-legacy-alias", }) }) + + test("treats claude-opus-4-6-thinking as canonical, not as a legacy alias", () => { + const result = resolveModelIDAlias("claude-opus-4-6-thinking") + + expect(result).toEqual({ + requestedModelID: "claude-opus-4-6-thinking", + canonicalModelID: "claude-opus-4-6-thinking", + source: "canonical", + }) + }) }) diff --git a/src/shared/model-capability-aliases.ts b/src/shared/model-capability-aliases.ts index fe7ef6b3b..9d1412225 100644 --- a/src/shared/model-capability-aliases.ts +++ b/src/shared/model-capability-aliases.ts @@ -41,8 +41,8 @@ const EXACT_ALIAS_RULES_BY_MODEL: ReadonlyMap = new Map( const PATTERN_ALIAS_RULES: ReadonlyArray = [ { ruleID: "claude-thinking-legacy-alias", - description: "Normalizes legacy Claude Opus thinking suffixes (4-6, 4-7) to the canonical snapshot ID.", - match: (normalizedModelID) => /^claude-opus-4-(?:6|7)-thinking$/.test(normalizedModelID), + description: "Normalizes the legacy claude-opus-4-7-thinking id to the canonical snapshot ID.", + match: (normalizedModelID) => /^claude-opus-4-7-thinking$/.test(normalizedModelID), canonicalize: () => "claude-opus-4-7", }, {