feat(providers): add Claude Fable 5 model#5334
Conversation
Re-add claude-fable-5 (Anthropic's most capable widely released model), not marked recommended. Verified against live Anthropic API + docs: - Pricing $10/$50 per MTok, $1 cached input (cache-read); 1M context; 128k max output; GA 2026-06-09 - Adaptive thinking only (always on, cannot be disabled) — routed via supportsAdaptiveThinking; manual budget_tokens/temperature are rejected with 400 - effort levels low/medium/high/xhigh/max (default high) - nativeStructuredOutputs confirmed supported (live output_format json_schema call returned 200), matching same-generation siblings (Sonnet 5, Opus 4.8)
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Anthropic provider routing treats Fable 5 like Sonnet 5 / Opus 4.8: Reviewed by Cursor Bugbot for commit 737ad1c. Configure here. |
Greptile SummaryThis PR re-adds
Confidence Score: 5/5Safe to merge — the change is additive only, confined to two well-tested files, and consistent with how sibling models (Sonnet 5, Opus 4.8) are already wired up. Both touch-points are straightforward: a new model entry in the catalog and a one-line addition to a string-match guard. The temperature, structured-outputs, and thinking routing all fall into existing, already-covered code paths; no new branching is introduced. The absence of a temperature capability correctly suppresses temperature in the payload without any extra code. No files require special attention. Both changed files have existing test coverage for the shared paths, and the new model entry follows the same shape as claude-sonnet-5 and claude-opus-4-8 directly above it. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Request: claude-fable-5] --> B{supportsTemperature?}
B -- false --> C[No temperature in payload]
C --> D{thinkingLevel set and not 'none'?}
D -- yes --> E[buildThinkingConfig]
E --> F{supportsAdaptiveThinking?}
F -- true fable-5 --> G[thinking: type=adaptive\noutputConfig: effort=level]
D -- no --> H[No thinking config sent\nAPI uses default adaptive]
G --> I[payload.temperature = undefined\nredundant but safe]
I --> J[Anthropic API call]
H --> J
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Request: claude-fable-5] --> B{supportsTemperature?}
B -- false --> C[No temperature in payload]
C --> D{thinkingLevel set and not 'none'?}
D -- yes --> E[buildThinkingConfig]
E --> F{supportsAdaptiveThinking?}
F -- true fable-5 --> G[thinking: type=adaptive\noutputConfig: effort=level]
D -- no --> H[No thinking config sent\nAPI uses default adaptive]
G --> I[payload.temperature = undefined\nredundant but safe]
I --> J[Anthropic API call]
H --> J
Reviews (1): Last reviewed commit: "feat(providers): add Claude Fable 5 mode..." | Re-trigger Greptile |
Summary
claude-fable-5(Anthropic's most capable widely released model), not marked recommended — matching the prior entry (added in feat(models): add Claude Fable 5 #4921, removed in chore(providers): remove claude-fable-5 model #5020).anthropic/core.ts(Fable 5 is adaptive-thinking-only, always on — manualbudget_tokens/temperatureare rejected with 400).Verified against live Anthropic API + docs
low/medium/high/xhigh/max(defaulthigh)output_formatjson_schema call returned 200Note: the prior #4921 entry omitted
nativeStructuredOutputs; I've included it since the live API + docs confirm support and it matches the same-generation siblings (Sonnet 5, Opus 4.8).Type of Change
Testing
Checklist