Skip to content

feat(providers): add Claude Fable 5 model#5334

Merged
waleedlatif1 merged 1 commit into
stagingfrom
worktree-add-model-fable-5
Jul 1, 2026
Merged

feat(providers): add Claude Fable 5 model#5334
waleedlatif1 merged 1 commit into
stagingfrom
worktree-add-model-fable-5

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

Verified against live Anthropic API + docs

Field Value
Pricing $10 input / $50 output per MTok, $1 cached-input (cache read)
Context / Max output 1M / 128k
Thinking adaptive only; effort low/medium/high/xhigh/max (default high)
Structured outputs supported — live output_format json_schema call returned 200
Temperature omitted — live API returns 400 "deprecated for this model"
Release date 2026-06-09 (GA)

Note: 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

  • New feature

Testing

  • 156 provider tests + landing models catalog + providers index tests pass
  • biome + tsc clean
  • Live API verified (table above)

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

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)
@vercel

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Jul 1, 2026 8:46pm

Request Review

@cursor

cursor Bot commented Jul 1, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Catalog and model-ID branching only; behavior mirrors existing Sonnet 5 adaptive-thinking paths with no auth or data-layer changes.

Overview
Adds claude-fable-5 to the Anthropic model catalog with pricing ($10 / $50 per MTok, $1 cached input), 1M context, 128k max output, native structured outputs, and adaptive thinking levels (low through max, default high). It is not marked recommended.

Anthropic provider routing treats Fable 5 like Sonnet 5 / Opus 4.8: supportsAdaptiveThinking matches fable-5, so requests use thinking.type: "adaptive" with effort via output_config instead of budget_tokens extended thinking (which the API rejects for this model). Docs/comments note Fable 5 is adaptive-only and always on.

Reviewed by Cursor Bugbot for commit 737ad1c. Configure here.

@greptile-apps

greptile-apps Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR re-adds claude-fable-5 as an Anthropic model entry, routing it through the existing adaptive-thinking path in anthropic/core.ts (no budget_tokens, no explicit temperature) and registering its capabilities in models.ts to match its live API behavior.

  • models.ts: New entry with $10/$50 per-MTok pricing, 1M context, 128K max output, nativeStructuredOutputs: true, and adaptive thinking levels [low, medium, high, xhigh, max] — no temperature field, so supportsTemperature returns false automatically.
  • anthropic/core.ts: fable-5 is added to supportsAdaptiveThinking(), which causes buildThinkingConfig to emit { thinking: { type: 'adaptive' }, outputConfig: { effort: <level> } } instead of the budget_tokens-based path.

Confidence Score: 5/5

Safe 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

Filename Overview
apps/sim/providers/models.ts Adds the claude-fable-5 model entry with correct pricing ($10/$50 per MTok), 1M context window, 128K max output, adaptive-thinking levels, nativeStructuredOutputs, and no temperature capability — consistent with sibling models.
apps/sim/providers/anthropic/core.ts Adds fable-5 to supportsAdaptiveThinking() so requests use thinking.type: "adaptive" + outputConfig.effort instead of budget_tokens; updates two JSDoc comments. No change to temperature handling (supportsTemperature returns false for Fable 5 already via absence of temperature capability).

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
Loading
%%{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
Loading

Reviews (1): Last reviewed commit: "feat(providers): add Claude Fable 5 mode..." | Re-trigger Greptile

@waleedlatif1 waleedlatif1 merged commit c923de6 into staging Jul 1, 2026
11 of 12 checks passed
@waleedlatif1 waleedlatif1 deleted the worktree-add-model-fable-5 branch July 1, 2026 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant