feat(claude-code): pinned claude-opus-5-5 model

This commit is contained in:
EugeneTes
2026-09-25 14:42:12 +00:00
parent 8a97a9890f
commit 2321906719
3 changed files with 5 additions and 3 deletions

View File

@@ -20,7 +20,7 @@ Register it and pick a model:
```csharp
o.AddExtension<ClaudeCodeProviderExtension>();
o.DefaultModel = "claude-code/sonnet"; // or opus, haiku, fable
o.DefaultModel = "claude-code/sonnet"; // or opus, haiku, fable, or the pinned claude-opus-5-5
```
Run `/claude-code-doctor` in a session to check the installation, auth, required CLI flags and the bridge

View File

@@ -30,8 +30,10 @@ public static class ClaudeCodeModels
// Haiku has no effort control; Claude Code still owns its thinking default.
public static readonly Model Haiku = Create("haiku", "Claude Code Haiku", 200_000, 32_000, reasoning: false);
public static readonly Model Fable = Create("fable", "Claude Code Fable", 1_000_000, 64_000, reasoning: true);
// A full model id pins the version; the aliases above follow whatever Claude Code maps them to.
public static readonly Model Opus55 = Create("claude-opus-5-5", "Claude Code Opus 5.5", 1_000_000, 128_000, reasoning: true);
public static IReadOnlyList<Model> All { get; } = [Sonnet, Opus, Haiku, Fable];
public static IReadOnlyList<Model> All { get; } = [Sonnet, Opus, Haiku, Fable, Opus55];
/// <summary>The <c>--effort</c> value for a request, or null to omit the flag.</summary>
public static string? EffortFor(Model model, ThinkingLevel? level)

View File

@@ -105,7 +105,7 @@ public class ProviderExtensionTests
Assert.Equal("claude-code-headless", provider.Api);
Assert.Equal("claude-code://local", provider.BaseUrl);
Assert.False(provider.RequiresApiKey);
Assert.Equal(["sonnet", "opus", "haiku", "fable"], provider.Models.Select(m => m.Id).ToArray());
Assert.Equal(["sonnet", "opus", "haiku", "fable", "claude-opus-5-5"], provider.Models.Select(m => m.Id).ToArray());
Assert.All(provider.Models, m => Assert.Equal(ModelCost.Zero, m.Cost));
Assert.Equal(1_000_000, provider.Models[0].ContextWindow);
Assert.Equal(64_000, provider.Models[0].MaxTokens);