diff --git a/src/shared/model-capability-aliases.test.ts b/src/shared/model-capability-aliases.test.ts index 83936169b..7003807cb 100644 --- a/src/shared/model-capability-aliases.test.ts +++ b/src/shared/model-capability-aliases.test.ts @@ -129,4 +129,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 7691c4683..712041c03 100644 --- a/src/shared/model-capability-aliases.ts +++ b/src/shared/model-capability-aliases.ts @@ -53,8 +53,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", }, {