diff --git a/apps/web/src/lib/ai-gateway/providers/apply-provider-specific-logic.test.ts b/apps/web/src/lib/ai-gateway/providers/apply-provider-specific-logic.test.ts index c63923dfa1..58bd9645fd 100644 --- a/apps/web/src/lib/ai-gateway/providers/apply-provider-specific-logic.test.ts +++ b/apps/web/src/lib/ai-gateway/providers/apply-provider-specific-logic.test.ts @@ -439,12 +439,14 @@ describe('applyPreferredProvider', () => { expect(request.body.provider).toBeUndefined(); }); - it('does not set a provider order for Fable', () => { + it('applies the Claude provider order to Fable', () => { const request = makeRequest('anthropic/claude-fable-5'); applyPreferredProvider('anthropic/claude-fable-5', request.body); - expect(request.body.provider).toBeUndefined(); + expect(request.body.provider).toEqual({ + order: ['amazon-bedrock', 'anthropic', 'google-vertex'], + }); }); it('preserves valid provider options when adding order', () => { diff --git a/apps/web/src/lib/ai-gateway/providers/apply-provider-specific-logic.ts b/apps/web/src/lib/ai-gateway/providers/apply-provider-specific-logic.ts index c108e6db17..d0469b9f5d 100644 --- a/apps/web/src/lib/ai-gateway/providers/apply-provider-specific-logic.ts +++ b/apps/web/src/lib/ai-gateway/providers/apply-provider-specific-logic.ts @@ -136,8 +136,7 @@ export function getPreferredProviderOrder(requestedModel: string): string[] { if (isOpenAiModel(requestedModel)) { return [OpenRouterInferenceProviderIdSchema.enum.openai]; } - if (isClaudeModel(requestedModel) && !isFableModel(requestedModel)) { - // specifying this for fable breaks the opus fallback on vercel + if (isClaudeModel(requestedModel)) { return [ OpenRouterInferenceProviderIdSchema.enum['amazon-bedrock'], OpenRouterInferenceProviderIdSchema.enum.anthropic,