diff --git a/packages/adapters/claude-local/src/index.ts b/packages/adapters/claude-local/src/index.ts index ecfaa2fe..d07daf70 100644 --- a/packages/adapters/claude-local/src/index.ts +++ b/packages/adapters/claude-local/src/index.ts @@ -7,6 +7,8 @@ export const SANDBOX_INSTALL_COMMAND = "npm install -g @anthropic-ai/claude-code export const models = [ { id: "claude-opus-4-8", label: "Claude Opus 4.8" }, + { id: "claude-fable-5", label: "Claude Fable 5" }, + { id: "claude-mythos-5", label: "Claude Mythos 5" }, { id: "claude-opus-4-7", label: "Claude Opus 4.7" }, { id: "claude-opus-4-6", label: "Claude Opus 4.6" }, { id: "claude-sonnet-4-6", label: "Claude Sonnet 4.6" }, diff --git a/packages/adapters/claude-local/src/server/models.ts b/packages/adapters/claude-local/src/server/models.ts index cbb8553d..103db809 100644 --- a/packages/adapters/claude-local/src/server/models.ts +++ b/packages/adapters/claude-local/src/server/models.ts @@ -10,6 +10,7 @@ const ANTHROPIC_API_VERSION = "2023-06-01"; /** AWS Bedrock model IDs — region-qualified identifiers required by the Bedrock API. */ const BEDROCK_MODELS: AdapterModel[] = [ { id: "us.anthropic.claude-opus-4-8-v1", label: "Bedrock Opus 4.8" }, + { id: "us.anthropic.claude-fable-5-v1", label: "Bedrock Fable 5" }, { id: "us.anthropic.claude-opus-4-6-v1", label: "Bedrock Opus 4.6" }, { id: "us.anthropic.claude-sonnet-4-5-20250929-v2:0", label: "Bedrock Sonnet 4.5" }, { id: "us.anthropic.claude-haiku-4-5-20251001-v1:0", label: "Bedrock Haiku 4.5" }, diff --git a/server/src/__tests__/adapter-models.test.ts b/server/src/__tests__/adapter-models.test.ts index ed6232a5..a35efb9d 100644 --- a/server/src/__tests__/adapter-models.test.ts +++ b/server/src/__tests__/adapter-models.test.ts @@ -58,6 +58,10 @@ describe("adapter model listing", () => { expect(models).toEqual(claudeFallbackModels); expect(models.some((model) => model.id === "claude-opus-4-8")).toBe(true); + // Newer flagship models are offered, but Opus 4.8 stays the default (first) option. + expect(models[0]?.id).toBe("claude-opus-4-8"); + expect(models.some((model) => model.id === "claude-fable-5")).toBe(true); + expect(models.some((model) => model.id === "claude-mythos-5")).toBe(true); expect(fetchSpy).not.toHaveBeenCalled(); });