diff --git a/packages/contracts/src/model.test.ts b/packages/contracts/src/model.test.ts index 137167daa577a9b3aff5e77d9201a805a483c203..c228782960a5e73d806e6e18173a4a9c28baccf6 100644 --- a/packages/contracts/src/model.test.ts +++ b/packages/contracts/src/model.test.ts @@ -31,8 +31,11 @@ describe("normalizeModelSlug", () => { }); it("uses provider-specific aliases", () => { - expect(normalizeModelSlug("sonnet", "claudeCode")).toBe("claude-sonnet-4-5"); - expect(normalizeModelSlug("opus-4.1", "claudeCode")).toBe("claude-opus-4-1"); + expect(normalizeModelSlug("sonnet", "claudeCode")).toBe("claude-sonnet-4-6"); + expect(normalizeModelSlug("opus-4.6", "claudeCode")).toBe("claude-opus-4-6"); + expect(normalizeModelSlug("claude-haiku-4-5-20251001", "claudeCode")).toBe( + "claude-haiku-4-5", + ); }); }); @@ -57,7 +60,7 @@ describe("resolveModelSlug", () => { expect(resolveModelSlugForProvider("claudeCode", undefined)).toBe( DEFAULT_MODEL_BY_PROVIDER.claudeCode, ); - expect(resolveModelSlugForProvider("claudeCode", "sonnet")).toBe("claude-sonnet-4-5"); + expect(resolveModelSlugForProvider("claudeCode", "sonnet")).toBe("claude-sonnet-4-6"); expect(resolveModelSlugForProvider("claudeCode", "gpt-5.3-codex")).toBe( DEFAULT_MODEL_BY_PROVIDER.claudeCode, ); diff --git a/packages/contracts/src/model.ts b/packages/contracts/src/model.ts index 3626e4c5a78e256c5c9267148e3227fa9350b84b..39944bd579b304bbe0dbbf256b17bf2bf4326de7 100644 --- a/packages/contracts/src/model.ts +++ b/packages/contracts/src/model.ts @@ -13,9 +13,9 @@ export const MODEL_OPTIONS_BY_PROVIDER = { { slug: "gpt-5.2", name: "GPT-5.2" }, ], claudeCode: [ - { slug: "claude-sonnet-4-5", name: "Claude Sonnet 4.5" }, - { slug: "claude-opus-4-1", name: "Claude Opus 4.1" }, - { slug: "claude-haiku-3-5", name: "Claude Haiku 3.5" }, + { slug: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" }, + { slug: "claude-opus-4-6", name: "Claude Opus 4.6" }, + { slug: "claude-haiku-4-5", name: "Claude Haiku 4.5" }, ], } as const satisfies Record; @@ -23,7 +23,7 @@ export type ModelSlug = (typeof MODEL_OPTIONS_BY_PROVIDER)[ProviderKind][number] export const DEFAULT_MODEL_BY_PROVIDER: Record = { codex: "gpt-5.3-codex", - claudeCode: "claude-sonnet-4-5", + claudeCode: "claude-sonnet-4-6", }; // Backward compatibility for existing Codex-only call sites. @@ -38,15 +38,18 @@ export const MODEL_SLUG_ALIASES_BY_PROVIDER: Record { const parsed = decodeProviderSessionStartInput({ provider: "claudeCode", cwd: "/tmp/workspace", - model: "claude-sonnet-4-5", + model: "claude-sonnet-4-6", providerOptions: { claudeCode: { binaryPath: "/usr/local/bin/claude",