From 8d2ec1e7565109d19c51f172bb615c62d600e2cc Mon Sep 17 00:00:00 2001 From: Marve10s Date: Tue, 9 Jun 2026 20:51:20 +0300 Subject: [PATCH 1/3] Add Claude Fable 5 aliases --- apps/web/src/components/settings/ProviderModelsSection.tsx | 2 +- packages/contracts/src/model.ts | 3 +++ packages/shared/src/model.test.ts | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/web/src/components/settings/ProviderModelsSection.tsx b/apps/web/src/components/settings/ProviderModelsSection.tsx index 5db713495b9..3ab791143d0 100644 --- a/apps/web/src/components/settings/ProviderModelsSection.tsx +++ b/apps/web/src/components/settings/ProviderModelsSection.tsx @@ -32,7 +32,7 @@ import { Tooltip, TooltipPopup, TooltipTrigger } from "../ui/tooltip"; */ const CUSTOM_MODEL_PLACEHOLDER_BY_KIND: Partial> = { [ProviderDriverKind.make("codex")]: "gpt-6.7-codex-ultra-preview", - [ProviderDriverKind.make("claudeAgent")]: "claude-sonnet-5-0", + [ProviderDriverKind.make("claudeAgent")]: "claude-fable-5", [ProviderDriverKind.make("cursor")]: "claude-sonnet-4-6", [ProviderDriverKind.make("opencode")]: "openai/gpt-5", }; diff --git a/packages/contracts/src/model.ts b/packages/contracts/src/model.ts index 7788eaace48..9d7d46e789a 100644 --- a/packages/contracts/src/model.ts +++ b/packages/contracts/src/model.ts @@ -166,6 +166,9 @@ export const MODEL_SLUG_ALIASES_BY_PROVIDER: Partial< "gpt-5.3-spark": "gpt-5.3-codex-spark", }, [CLAUDE_DRIVER_KIND]: { + fable: "claude-fable-5", + "fable-5": "claude-fable-5", + "claude-fable": "claude-fable-5", opus: "claude-opus-4-8", "opus-4.8": "claude-opus-4-8", "claude-opus-4.8": "claude-opus-4-8", diff --git a/packages/shared/src/model.test.ts b/packages/shared/src/model.test.ts index 00c01616005..2a08d5ec250 100644 --- a/packages/shared/src/model.test.ts +++ b/packages/shared/src/model.test.ts @@ -75,6 +75,8 @@ describe("normalizeModelSlug", () => { const claude = ProviderDriverKind.make("claudeAgent"); expect(normalizeModelSlug("gpt-5-codex")).toBe("gpt-5.4"); expect(normalizeModelSlug("5.3")).toBe("gpt-5.3-codex"); + expect(normalizeModelSlug("fable", claude)).toBe("claude-fable-5"); + expect(normalizeModelSlug("fable-5", claude)).toBe("claude-fable-5"); expect(normalizeModelSlug("sonnet", claude)).toBe("claude-sonnet-4-6"); }); @@ -110,6 +112,7 @@ describe("resolveSelectableModel", () => { it("resolves exact slugs, labels, and aliases", () => { const options = [ { slug: "gpt-5.3-codex", name: "GPT-5.3 Codex" }, + { slug: "claude-fable-5", name: "Claude Fable 5" }, { slug: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" }, ]; expect(resolveSelectableModel(ProviderDriverKind.make("codex"), "gpt-5.3-codex", options)).toBe( @@ -121,6 +124,9 @@ describe("resolveSelectableModel", () => { expect(resolveSelectableModel(ProviderDriverKind.make("claudeAgent"), "sonnet", options)).toBe( "claude-sonnet-4-6", ); + expect(resolveSelectableModel(ProviderDriverKind.make("claudeAgent"), "fable", options)).toBe( + "claude-fable-5", + ); }); }); From 05128df69beb52c6d05216d8d435b735073e00c7 Mon Sep 17 00:00:00 2001 From: Marve10s Date: Tue, 9 Jun 2026 21:07:31 +0300 Subject: [PATCH 2/3] Use supported Claude placeholder --- apps/web/src/components/settings/ProviderModelsSection.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/components/settings/ProviderModelsSection.tsx b/apps/web/src/components/settings/ProviderModelsSection.tsx index 3ab791143d0..ec17201fa94 100644 --- a/apps/web/src/components/settings/ProviderModelsSection.tsx +++ b/apps/web/src/components/settings/ProviderModelsSection.tsx @@ -32,7 +32,7 @@ import { Tooltip, TooltipPopup, TooltipTrigger } from "../ui/tooltip"; */ const CUSTOM_MODEL_PLACEHOLDER_BY_KIND: Partial> = { [ProviderDriverKind.make("codex")]: "gpt-6.7-codex-ultra-preview", - [ProviderDriverKind.make("claudeAgent")]: "claude-fable-5", + [ProviderDriverKind.make("claudeAgent")]: "claude-sonnet-4-6", [ProviderDriverKind.make("cursor")]: "claude-sonnet-4-6", [ProviderDriverKind.make("opencode")]: "openai/gpt-5", }; From 0ef692e689496ab6a79d7288887b981bbc26e282 Mon Sep 17 00:00:00 2001 From: Marve10s Date: Tue, 9 Jun 2026 21:11:26 +0300 Subject: [PATCH 3/3] Drop Claude placeholder change --- apps/web/src/components/settings/ProviderModelsSection.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/components/settings/ProviderModelsSection.tsx b/apps/web/src/components/settings/ProviderModelsSection.tsx index ec17201fa94..5db713495b9 100644 --- a/apps/web/src/components/settings/ProviderModelsSection.tsx +++ b/apps/web/src/components/settings/ProviderModelsSection.tsx @@ -32,7 +32,7 @@ import { Tooltip, TooltipPopup, TooltipTrigger } from "../ui/tooltip"; */ const CUSTOM_MODEL_PLACEHOLDER_BY_KIND: Partial> = { [ProviderDriverKind.make("codex")]: "gpt-6.7-codex-ultra-preview", - [ProviderDriverKind.make("claudeAgent")]: "claude-sonnet-4-6", + [ProviderDriverKind.make("claudeAgent")]: "claude-sonnet-5-0", [ProviderDriverKind.make("cursor")]: "claude-sonnet-4-6", [ProviderDriverKind.make("opencode")]: "openai/gpt-5", };