Skip to content

Commit 3e45ebf

Browse files
committed
feat(providers): add Claude Opus 5.5
1 parent 17e415d commit 3e45ebf

6 files changed

Lines changed: 40 additions & 11 deletions

File tree

‎apps/docs/content/docs/workflows/blocks/agent.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ Live tool-call chips stream for **OpenAI, Anthropic, Azure Anthropic, Google, Ve
135135
| Provider | Streamed thinking | Models |
136136
|----------|-------------------|--------|
137137
| OpenAI | Summaries only — Requires OpenAI organization verification; falls back to no summaries. | `gpt-6-astra`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.5-pro`, `gpt-5.5`, `gpt-5.4-pro`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.3-codex`, `gpt-5.2-pro`, `gpt-5.2`, `gpt-5.1`, `gpt-5-pro`, `gpt-5`, `gpt-5-mini`, `gpt-5-nano`, `o4-mini`, `o3`, `o3-mini`, `o1` |
138-
| Anthropic | Summaries only — These generations omit full thinking; Sim requests summarized thinking on streaming runs. | `claude-fable-5-1`, `claude-fable-5`, `claude-sonnet-5`, `claude-opus-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6`, `claude-sonnet-4-6`, `claude-opus-4-5`, `claude-sonnet-4-5`, `claude-haiku-4-5` |
138+
| Anthropic | Summaries only — These generations omit full thinking; Sim requests summarized thinking on streaming runs. | `claude-fable-5-1`, `claude-fable-5`, `claude-sonnet-5`, `claude-opus-5-5`, `claude-opus-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6`, `claude-sonnet-4-6`, `claude-opus-4-5`, `claude-sonnet-4-5`, `claude-haiku-4-5` |
139139
| Azure OpenAI | Summaries only — Requires OpenAI organization verification; falls back to no summaries. | `azure/gpt-6-astra`, `azure/gpt-5.6-sol`, `azure/gpt-5.6-terra`, `azure/gpt-5.6-luna`, `azure/gpt-5.5`, `azure/gpt-5.4-pro`, `azure/gpt-5.4`, `azure/gpt-5.4-mini`, `azure/gpt-5.4-nano`, `azure/gpt-5.2`, `azure/gpt-5.1`, `azure/gpt-5.1-codex`, `azure/gpt-5`, `azure/gpt-5-mini`, `azure/gpt-5-nano`, `azure/o3`, `azure/o4-mini` |
140140
| Azure Anthropic | Summaries only — These generations omit full thinking; Sim requests summarized thinking on streaming runs. | `azure-anthropic/claude-fable-5-1`, `azure-anthropic/claude-opus-5`, `azure-anthropic/claude-opus-4-8`, `azure-anthropic/claude-opus-4-7`, `azure-anthropic/claude-opus-4-6`, `azure-anthropic/claude-opus-4-5`, `azure-anthropic/claude-sonnet-5`, `azure-anthropic/claude-sonnet-4-6`, `azure-anthropic/claude-sonnet-4-5`, `azure-anthropic/claude-opus-4-1`, `azure-anthropic/claude-haiku-4-5` |
141141
| Google | Summaries only | `gemini-3.8-flash`, `gemini-3.7-flash`, `gemini-3.6-flash`, `gemini-3.5-flash-lite`, `gemini-3.5-flash`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite`, `gemini-3-flash-preview`, `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite` |

‎apps/sim/providers/anthropic/core.request.test.ts‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -296,12 +296,15 @@ describe('executeAnthropicProviderRequest forced tool use', () => {
296296
expect(payload.tool_choice).toEqual({ type: 'tool', name: 'publish' })
297297
})
298298

299-
it('drops forced tool_choice when the catalog model disables Force', async () => {
300-
const { payload, warn } = await runWithForcedTool('claude-fable-5-1')
301-
expect(payload.tools?.map((tool) => tool.name)).toEqual(['publish'])
302-
expect(payload).not.toHaveProperty('tool_choice')
303-
expect(warn).toHaveBeenCalledWith(expect.stringContaining('rejects forced tool_choice'))
304-
})
299+
it.each(['claude-fable-5-1', 'claude-opus-5-5'])(
300+
'drops forced tool_choice when the catalog model disables Force (%s)',
301+
async (model) => {
302+
const { payload, warn } = await runWithForcedTool(model)
303+
expect(payload.tools?.map((tool) => tool.name)).toEqual(['publish'])
304+
expect(payload).not.toHaveProperty('tool_choice')
305+
expect(warn).toHaveBeenCalledWith(expect.stringContaining('rejects forced tool_choice'))
306+
}
307+
)
305308
})
306309

307310
describe('executeAnthropicProviderRequest native structured outputs', () => {

‎apps/sim/providers/anthropic/core.thinking.test.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ describe('buildThinkingConfig', () => {
1616
'claude-fable-5-1',
1717
'claude-fable-5',
1818
'claude-sonnet-5',
19+
'claude-opus-5-5',
1920
'claude-opus-5',
2021
'claude-opus-4-8',
2122
'claude-opus-4-7',
@@ -31,6 +32,7 @@ describe('buildThinkingConfig', () => {
3132
'claude-fable-5-1',
3233
'claude-fable-5',
3334
'claude-sonnet-5',
35+
'claude-opus-5-5',
3436
'claude-opus-5',
3537
'claude-opus-4-8',
3638
'claude-opus-4-7',

‎apps/sim/providers/anthropic/core.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ const ANTHROPIC_THINKING_OUTPUT_HEADROOM = 4096
143143

144144
/**
145145
* Checks if a model supports adaptive thinking (thinking.type: "adaptive").
146-
* Fable 5 and Fable 5.1 support ONLY adaptive thinking (always on; type: "disabled" is rejected).
146+
* Fable 5, Fable 5.1, and Opus 5.5 support ONLY adaptive thinking (always on; type: "disabled" is rejected).
147147
* Sonnet 5 supports ONLY adaptive thinking (manual budget_tokens returns a 400 error).
148148
* Opus 5, Opus 4.8, and Opus 4.7 support ONLY adaptive thinking (no extended thinking / budget_tokens).
149149
* Opus 4.6 and Sonnet 4.6 support both extended and adaptive thinking — use adaptive.
@@ -169,7 +169,7 @@ function supportsAdaptiveThinking(modelId: string): boolean {
169169
/**
170170
* Builds the thinking configuration for the Anthropic API based on model capabilities and level.
171171
*
172-
* - Fable 5.1, Fable 5, Sonnet 5, Opus 5, Opus 4.8, Opus 4.7: Uses adaptive thinking only (no extended thinking support)
172+
* - Fable 5.1, Fable 5, Sonnet 5, Opus 5.5, Opus 5, Opus 4.8, Opus 4.7: Uses adaptive thinking only (no extended thinking support)
173173
* - Opus 4.6, Sonnet 4.6: Uses adaptive thinking with effort parameter
174174
* - Other models: Uses budget_tokens-based extended thinking
175175
*

‎apps/sim/providers/models.test.ts‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ describe('catalog featured model metadata', () => {
165165
})
166166

167167
describe('forced tool use capability', () => {
168-
it.each(['claude-fable-5-1', 'CLAUDE-FABLE-5-1'])(
168+
it.each(['claude-fable-5-1', 'CLAUDE-FABLE-5-1', 'claude-opus-5-5'])(
169169
'disables Force while keeping Auto and None support for %s',
170170
(model) => {
171171
expect(getModelCapabilities(model)).toMatchObject({
@@ -209,6 +209,7 @@ describe('Anthropic provider definition', () => {
209209
anthropic.models.filter((model) => model.sunset?.status === 'legacy').map((model) => model.id)
210210
).toEqual([
211211
'claude-fable-5',
212+
'claude-opus-5',
212213
'claude-opus-4-8',
213214
'claude-opus-4-7',
214215
'claude-opus-4-6',

‎apps/sim/providers/models.ts‎

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1004,6 +1004,29 @@ export const PROVIDER_DEFINITIONS: Record<string, ProviderDefinition> = {
10041004
releaseDate: '2026-06-30',
10051005
recommended: true,
10061006
},
1007+
{
1008+
id: 'claude-opus-5-5',
1009+
pricing: {
1010+
input: 4.0,
1011+
cachedInput: 0.2,
1012+
output: 20.0,
1013+
updatedAt: '2026-09-22',
1014+
},
1015+
capabilities: {
1016+
forcedToolUse: false,
1017+
nativeStructuredOutputs: true,
1018+
maxOutputTokens: 128000,
1019+
promptCaching: { minimumCacheableTokens: 512 },
1020+
thinking: {
1021+
levels: ['low', 'medium', 'high', 'xhigh', 'max'],
1022+
default: 'medium',
1023+
streamed: 'summary',
1024+
},
1025+
},
1026+
contextWindow: 1000000,
1027+
releaseDate: '2026-09-22',
1028+
recommended: true,
1029+
},
10071030
{
10081031
id: 'claude-opus-5',
10091032
pricing: {
@@ -1024,7 +1047,7 @@ export const PROVIDER_DEFINITIONS: Record<string, ProviderDefinition> = {
10241047
},
10251048
contextWindow: 1000000,
10261049
releaseDate: '2026-07-24',
1027-
recommended: true,
1050+
sunset: { status: 'legacy' },
10281051
},
10291052
{
10301053
id: 'claude-opus-4-8',

0 commit comments

Comments
 (0)