Skip to content

Add Claude Fable 5 model#3009

Merged
juliusmarminge merged 6 commits into
mainfrom
codex/add-claude-fable-5
Jun 9, 2026
Merged

Add Claude Fable 5 model#3009
juliusmarminge merged 6 commits into
mainfrom
codex/add-claude-fable-5

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Jun 9, 2026

Copy link
Copy Markdown
Member

Summary

  • add claude-fable-5 to the Claude provider built-in model catalog
  • expose it as Claude Fable 5 with the provider default capabilities
  • cover model availability in the Claude provider status test

Validation

  • vp test apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • vp check
  • vp run typecheck

Note

Add Claude Fable 5 model gated behind Claude Code version 2.1.169

  • Adds a new claude-fable-5 built-in model with configurable reasoning (low/medium/high/xhigh/max/ultracode/ultrathink) and context window (200k/1M) options.
  • Gates the model behind a supportsClaudeFable5 version check in ClaudeProvider.ts; the model only appears when the detected Claude Code version is >= 2.1.169.
  • Adds a formatClaudeFable5UpgradeMessage helper and updates checkClaudeProviderStatus to show a Fable 5-specific upgrade prompt when the version is insufficient.
  • Adds a Fast Mode boolean capability to the existing claude-opus-4-8 and claude-opus-4-7 models.

Changes since #3009 opened

  • Modified normalizeClaudeCliEffort function to preserve xhigh effort option for claude-fable-5 model [9f57633]
  • Refactored model capability descriptors in BUILT_IN_MODELS constant [9f57633]
  • Added test coverage for claude-fable-5 model with xhigh effort option [9f57633]
  • Refactored effort options configuration for Claude models [cbe8a20]

Macroscope summarized e8d43cb.


Note

Low Risk
Provider catalog and effort normalization only; no auth or data-path changes, covered by unit tests.

Overview
Adds Claude Fable 5 (claude-fable-5) to the Claude built-in catalog with reasoning and context-window options, and only exposes it when Claude Code is ≥ 2.1.169; older installs get a Fable-specific upgrade message in provider status.

Effort handling treats Fable 5 like Opus 4.8 for xhigh (no remap to max). Shared CLAUDE_EFFORT_OPTIONS is removed in favor of per-model descriptors; Fast Mode is added on Opus 4.8 and 4.7. Tests cover Fable 5 availability by CLI version and adapter xhigh passthrough.

Reviewed by Cursor Bugbot for commit cbe8a20. Bugbot is set up for automated code reviews on this repo. Configure here.

Co-authored-by: codex <codex@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: cc857648-4ecc-4d29-868f-1c0f3bccd6c3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/add-claude-fable-5

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Jun 9, 2026
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚀 Expo continuous deployment is ready!

  • Project → t3-code
  • Platforms → android, ios
  • Scheme → t3code-preview
  🤖 Android 🍎 iOS
Fingerprint ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e 313e506a7f15a9c3f15b01d787d68a12382432bf
Build Details Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
App version: 0.1.0
Git commit: 192f84f2bb2814a4b21ac59218fc7e1d5c4958a4
Build Permalink
DetailsDistribution: INTERNAL
Build profile: preview:dev
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
App version: 0.1.0
Git commit: f23a3711d86cd8b6f514f05926830d7f83f9f5c1
Update Details Update Permalink
DetailsBranch: pr-3009
Runtime version: ae17d94b35f91f9c608a63dadbc3ddd9f4ba056e
Git commit: 192f84f2bb2814a4b21ac59218fc7e1d5c4958a4
Update Permalink
DetailsBranch: pr-3009
Runtime version: 313e506a7f15a9c3f15b01d787d68a12382432bf
Git commit: 192f84f2bb2814a4b21ac59218fc7e1d5c4958a4
Update QR

- Define Fable 5 reasoning and context window options
- Add fast mode to Opus 4.7 and 4.8 models
@juliusmarminge juliusmarminge marked this pull request as ready for review June 9, 2026 17:26
@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels Jun 9, 2026
@juliusmarminge juliusmarminge changed the title [codex] Add Claude Fable 5 model Add Claude Fable 5 model Jun 9, 2026
Comment thread apps/server/src/provider/Layers/ClaudeProvider.ts
@macroscopeapp

macroscopeapp Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Straightforward addition of a new model to the provider registry following existing patterns exactly, with comprehensive tests. The refactoring inlines a shared constant but values remain identical. The open review comment is a minor naming question, not a correctness issue.

You can customize Macroscope's approvability policy. Learn more.

Co-authored-by: codex <codex@users.noreply.github.com>
@juliusmarminge juliusmarminge enabled auto-merge (squash) June 9, 2026 17:31
@juliusmarminge juliusmarminge disabled auto-merge June 9, 2026 17:31

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Fable xhigh effort downgraded incorrectly
    • Added claude-fable-5 to the exemption check in normalizeClaudeCliEffort so xhigh is no longer incorrectly downgraded to max for that model.

Create PR

Or push these changes by commenting:

@cursor push 7ec07d5b83
Preview (7ec07d5b83)
diff --git a/apps/server/src/provider/Layers/ClaudeProvider.ts b/apps/server/src/provider/Layers/ClaudeProvider.ts
--- a/apps/server/src/provider/Layers/ClaudeProvider.ts
+++ b/apps/server/src/provider/Layers/ClaudeProvider.ts
@@ -334,7 +334,7 @@
   if (effort === "ultracode") {
     return "xhigh";
   }
-  if (effort === "xhigh" && model !== "claude-opus-4-8") {
+  if (effort === "xhigh" && model !== "claude-opus-4-8" && model !== "claude-fable-5") {
     return "max";
   }
   if (effort === "max" && model === "claude-sonnet-4-6") {

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 648538a. Configure here.

Comment thread apps/server/src/provider/Layers/ClaudeProvider.ts
Co-authored-by: codex <codex@users.noreply.github.com>
const MINIMUM_CLAUDE_OPUS_4_7_VERSION = "2.1.111";

const CLAUDE_EFFORT_OPTIONS = {
fable48: [

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be fable5 (or maybe fable50)?

@cursor

cursor Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Fable capabilities contradict test
    • Updated the test assertion to verify the actual effort and contextWindow option descriptors defined on the claude-fable-5 model, instead of incorrectly expecting empty optionDescriptors.

Create PR

Or push these changes by commenting:

@cursor push 539a67e334
Preview (539a67e334)
diff --git a/apps/server/src/provider/Layers/ProviderRegistry.test.ts b/apps/server/src/provider/Layers/ProviderRegistry.test.ts
--- a/apps/server/src/provider/Layers/ProviderRegistry.test.ts
+++ b/apps/server/src/provider/Layers/ProviderRegistry.test.ts
@@ -1350,15 +1350,14 @@
           assert.strictEqual(status.status, "ready");
           assert.strictEqual(status.installed, true);
           assert.strictEqual(status.auth.status, "authenticated");
-          assert.deepStrictEqual(
-            status.models.find((model) => model.slug === "claude-fable-5"),
-            {
-              slug: "claude-fable-5",
-              name: "Claude Fable 5",
-              isCustom: false,
-              capabilities: { optionDescriptors: [] },
-            },
-          );
+          const fableModel = status.models.find((model) => model.slug === "claude-fable-5");
+          assert.strictEqual(fableModel?.slug, "claude-fable-5");
+          assert.strictEqual(fableModel?.name, "Claude Fable 5");
+          assert.strictEqual(fableModel?.isCustom, false);
+          const descriptors = fableModel?.capabilities?.optionDescriptors ?? [];
+          assert.strictEqual(descriptors.length, 2);
+          assert.strictEqual(descriptors[0]?.id, "effort");
+          assert.strictEqual(descriptors[1]?.id, "contextWindow");
         }).pipe(
           Effect.provide(
             mockSpawnerLayer((args) => {

You can send follow-ups to the cloud agent here.

juliusmarminge and others added 2 commits June 9, 2026 10:35
Co-authored-by: codex <codex@users.noreply.github.com>
- Remove shared effort presets
- Define model-specific reasoning options for Fable 5, Opus 4.6, and Sonnet 4.6
@github-actions github-actions Bot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Jun 9, 2026
@juliusmarminge juliusmarminge enabled auto-merge (squash) June 9, 2026 17:37
@juliusmarminge juliusmarminge merged commit de58ec8 into main Jun 9, 2026
16 checks passed
@juliusmarminge juliusmarminge deleted the codex/add-claude-fable-5 branch June 9, 2026 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants