@yanlinglabs/winter-provider-catalog 0.0.24 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PROVENANCE.md +10 -1
- package/README.md +1 -1
- package/dist/index.js +1339 -26
- package/dist/types.d.ts +103 -0
- package/dist/validate.d.ts +4 -0
- package/generated/catalog.json +1301 -25
- package/overlay/models.json +1369 -95
- package/overlay/providers.json +4 -3
- package/package.json +1 -1
- package/schema/catalog.schema.json +54 -1
package/dist/index.js
CHANGED
|
@@ -50,6 +50,10 @@ var REPLAY_SCOPES = ["current-tool-loop", "current-turn", "selected-turns", "all
|
|
|
50
50
|
var TOOL_LOOP_REQUIREMENTS = ["hard-error", "silent-degradation", "not-required"];
|
|
51
51
|
var EFFORT_REQUEST_FIELDS = ["output_config.effort"];
|
|
52
52
|
var BLOCK_BINDING_BETAS = ["thinking-binding-controls-2026-08-01"];
|
|
53
|
+
var PER_MESSAGE_EFFORT_BETAS = ["mid-conversation-output-config-2026-07-01"];
|
|
54
|
+
var PER_MESSAGE_EFFORT_ITEMS = ["configuration_update"];
|
|
55
|
+
var MID_CONVERSATION_TOOL_CHANGE_BETAS = ["mid-conversation-tool-changes-2026-07-01"];
|
|
56
|
+
var INLINE_TOOL_DEFINITION_BETAS = ["inline-tools-2026-09-15"];
|
|
53
57
|
var CATALOG_VOCABULARIES = {
|
|
54
58
|
protocols: PROTOCOLS,
|
|
55
59
|
authKinds: AUTH_KINDS,
|
|
@@ -75,7 +79,11 @@ var CATALOG_VOCABULARIES = {
|
|
|
75
79
|
replayScopes: REPLAY_SCOPES,
|
|
76
80
|
toolLoopRequirements: TOOL_LOOP_REQUIREMENTS,
|
|
77
81
|
effortRequestFields: EFFORT_REQUEST_FIELDS,
|
|
78
|
-
blockBindingBetas: BLOCK_BINDING_BETAS
|
|
82
|
+
blockBindingBetas: BLOCK_BINDING_BETAS,
|
|
83
|
+
perMessageEffortBetas: PER_MESSAGE_EFFORT_BETAS,
|
|
84
|
+
perMessageEffortItems: PER_MESSAGE_EFFORT_ITEMS,
|
|
85
|
+
midConversationToolChangeBetas: MID_CONVERSATION_TOOL_CHANGE_BETAS,
|
|
86
|
+
inlineToolDefinitionBetas: INLINE_TOOL_DEFINITION_BETAS
|
|
79
87
|
};
|
|
80
88
|
var SECRET_FIELD_NAME_RE = /^(?:api[_-]?key|apikey|secret|secret[_-]?key|password|passwd|token|access[_-]?token|refresh[_-]?token|id[_-]?token|bearer|private[_-]?key|client[_-]?secret|session[_-]?token|credential|credentials|authorization|auth[_-]?token|aws[_-]?secret[_-]?access[_-]?key|aws[_-]?access[_-]?key[_-]?id)$/i;
|
|
81
89
|
var SECRET_VALUE_PATTERNS = [
|
|
@@ -308,6 +316,17 @@ function checkReasoning(errs, v, path) {
|
|
|
308
316
|
if (typeof val["beta"] !== "string" || !BLOCK_BINDING_BETAS.includes(val["beta"]))
|
|
309
317
|
errs.add(`${p}.beta`, `unknown block-binding beta ${describe(val["beta"])}`);
|
|
310
318
|
}, false);
|
|
319
|
+
checkEvidence(errs, v["perMessageEffort"], `${path}.perMessageEffort`, (val, p) => {
|
|
320
|
+
if (!isRecord(val))
|
|
321
|
+
return errs.add(p, `expected {beta} or {item}, got ${describe(val)}`);
|
|
322
|
+
const keys = Object.keys(val);
|
|
323
|
+
if (keys.length !== 1 || keys[0] !== "beta" && keys[0] !== "item")
|
|
324
|
+
return errs.add(p, `expected exactly one of {beta} or {item}, got keys ${describe(keys)}`);
|
|
325
|
+
if (keys[0] === "beta" && (typeof val["beta"] !== "string" || !PER_MESSAGE_EFFORT_BETAS.includes(val["beta"])))
|
|
326
|
+
errs.add(`${p}.beta`, `unknown per-message effort beta ${describe(val["beta"])}`);
|
|
327
|
+
if (keys[0] === "item" && (typeof val["item"] !== "string" || !PER_MESSAGE_EFFORT_ITEMS.includes(val["item"])))
|
|
328
|
+
errs.add(`${p}.item`, `unknown per-message effort item ${describe(val["item"])}`);
|
|
329
|
+
}, false);
|
|
311
330
|
}
|
|
312
331
|
function checkProvider(errs, v, path) {
|
|
313
332
|
if (!isRecord(v)) {
|
|
@@ -548,6 +567,24 @@ function checkModel(errs, v, path) {
|
|
|
548
567
|
checkEvidence(errs, v["parallelTools"], `${path}.parallelTools`, evidenceBoolean, false);
|
|
549
568
|
checkEvidence(errs, v["structuredOutput"], `${path}.structuredOutput`, evidenceBoolean, false);
|
|
550
569
|
checkEvidence(errs, v["promptCaching"], `${path}.promptCaching`, evidenceBoolean, false);
|
|
570
|
+
checkEvidence(errs, v["deferredToolLoading"], `${path}.deferredToolLoading`, evidenceBoolean, false);
|
|
571
|
+
checkEvidence(errs, v["midConversationSystem"], `${path}.midConversationSystem`, evidenceBoolean, false);
|
|
572
|
+
checkEvidence(errs, v["promptCacheKey"], `${path}.promptCacheKey`, evidenceBoolean, false);
|
|
573
|
+
const betaOnly = (vocabulary, what) => (val, p) => {
|
|
574
|
+
if (!isRecord(val))
|
|
575
|
+
return errs.add(p, `expected {beta}, got ${describe(val)}`);
|
|
576
|
+
for (const key of Object.keys(val))
|
|
577
|
+
if (key !== "beta")
|
|
578
|
+
errs.add(`${p}.${key}`, "unknown key");
|
|
579
|
+
if (typeof val["beta"] !== "string" || !vocabulary.includes(val["beta"]))
|
|
580
|
+
errs.add(`${p}.beta`, `unknown ${what} beta ${describe(val["beta"])}`);
|
|
581
|
+
};
|
|
582
|
+
checkEvidence(errs, v["midConversationToolChanges"], `${path}.midConversationToolChanges`, betaOnly(MID_CONVERSATION_TOOL_CHANGE_BETAS, "mid-conversation tool-change"), false);
|
|
583
|
+
checkEvidence(errs, v["inlineToolDefinitions"], `${path}.inlineToolDefinitions`, betaOnly(INLINE_TOOL_DEFINITION_BETAS, "inline tool-definition"), false);
|
|
584
|
+
checkEvidence(errs, v["clientToolSearch"], `${path}.clientToolSearch`, evidenceBoolean, false);
|
|
585
|
+
checkEvidence(errs, v["additionalToolsItem"], `${path}.additionalToolsItem`, evidenceBoolean, false);
|
|
586
|
+
checkEvidence(errs, v["allowedToolsChoice"], `${path}.allowedToolsChoice`, evidenceBoolean, false);
|
|
587
|
+
checkEvidence(errs, v["assistantPrefill"], `${path}.assistantPrefill`, evidenceBoolean, false);
|
|
551
588
|
checkEvidence(errs, v["classifierEligible"], `${path}.classifierEligible`, evidenceBoolean, false);
|
|
552
589
|
checkEvidence(errs, v["pricing"], `${path}.pricing`, (val, p) => checkPricing(errs, val, p), false);
|
|
553
590
|
if (v["reasoning"] !== undefined)
|
|
@@ -7776,6 +7813,7 @@ var catalog_default = {
|
|
|
7776
7813
|
id: "xai",
|
|
7777
7814
|
displayName: "xAI (Grok)",
|
|
7778
7815
|
protocols: [
|
|
7816
|
+
"openai-responses",
|
|
7779
7817
|
"openai-chat-completions"
|
|
7780
7818
|
],
|
|
7781
7819
|
authKinds: [
|
|
@@ -7786,7 +7824,7 @@ var catalog_default = {
|
|
|
7786
7824
|
},
|
|
7787
7825
|
modelDiscovery: "openai-models",
|
|
7788
7826
|
liveCatalogAuthority: "unknown",
|
|
7789
|
-
adapterId: "winter.openai-
|
|
7827
|
+
adapterId: "winter.openai-responses",
|
|
7790
7828
|
family: "openai",
|
|
7791
7829
|
upstream: {
|
|
7792
7830
|
project: "winter",
|
|
@@ -15136,6 +15174,45 @@ var catalog_default = {
|
|
|
15136
15174
|
"thinking.type.disabled"
|
|
15137
15175
|
],
|
|
15138
15176
|
status: "candidate",
|
|
15177
|
+
deferredToolLoading: {
|
|
15178
|
+
value: true,
|
|
15179
|
+
source: "official-doc",
|
|
15180
|
+
confidence: "declared",
|
|
15181
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
15182
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
15183
|
+
},
|
|
15184
|
+
midConversationSystem: {
|
|
15185
|
+
value: true,
|
|
15186
|
+
source: "official-doc",
|
|
15187
|
+
confidence: "declared",
|
|
15188
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
15189
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
15190
|
+
},
|
|
15191
|
+
midConversationToolChanges: {
|
|
15192
|
+
value: {
|
|
15193
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
15194
|
+
},
|
|
15195
|
+
source: "official-doc",
|
|
15196
|
+
confidence: "declared",
|
|
15197
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
15198
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
15199
|
+
},
|
|
15200
|
+
inlineToolDefinitions: {
|
|
15201
|
+
value: {
|
|
15202
|
+
beta: "inline-tools-2026-09-15"
|
|
15203
|
+
},
|
|
15204
|
+
source: "official-doc",
|
|
15205
|
+
confidence: "declared",
|
|
15206
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
15207
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
15208
|
+
},
|
|
15209
|
+
assistantPrefill: {
|
|
15210
|
+
value: false,
|
|
15211
|
+
source: "official-doc",
|
|
15212
|
+
confidence: "declared",
|
|
15213
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
15214
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
15215
|
+
},
|
|
15139
15216
|
canonicalModelId: "claude-fable-5",
|
|
15140
15217
|
modelFamily: "claude"
|
|
15141
15218
|
},
|
|
@@ -15286,6 +15363,15 @@ var catalog_default = {
|
|
|
15286
15363
|
confidence: "declared",
|
|
15287
15364
|
observedAt: "2026-09-25T13:00:00Z",
|
|
15288
15365
|
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting — "A 400 error says a thinking block signature is invalid": on Claude Fable 5.1 and Opus 5.5 a replayed thinking block is bound to the conversation (system, tools and earlier messages) and is rejected once that prefix changes (enforced for accounts created on or after 2026-08-31); the documented escape is the `thinking-binding-controls-2026-08-01` beta with `thinking.block_binding.prefix_mismatch_behavior: "drop_block"`. See also https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5 ("Thinking blocks are tied to the model and the conversation").'
|
|
15366
|
+
},
|
|
15367
|
+
perMessageEffort: {
|
|
15368
|
+
value: {
|
|
15369
|
+
beta: "mid-conversation-output-config-2026-07-01"
|
|
15370
|
+
},
|
|
15371
|
+
source: "official-doc",
|
|
15372
|
+
confidence: "declared",
|
|
15373
|
+
observedAt: "2026-09-25T18:00:00Z",
|
|
15374
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta — "On Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, and Claude Opus 5, use a per-message effort change, which keeps the prompt cache": a role:"system" message with empty content and output_config.effort, beta header mid-conversation-output-config-2026-07-01; "Models without per-message effort, including Claude Fable 5, return a 400 error". claude 2.1.282 sends the older alias per-turn-control-2026-07-01, which the page does not document.'
|
|
15289
15375
|
}
|
|
15290
15376
|
},
|
|
15291
15377
|
pricing: {
|
|
@@ -15307,6 +15393,45 @@ var catalog_default = {
|
|
|
15307
15393
|
"tool_choice.tool"
|
|
15308
15394
|
],
|
|
15309
15395
|
status: "candidate",
|
|
15396
|
+
deferredToolLoading: {
|
|
15397
|
+
value: true,
|
|
15398
|
+
source: "official-doc",
|
|
15399
|
+
confidence: "declared",
|
|
15400
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
15401
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
15402
|
+
},
|
|
15403
|
+
midConversationSystem: {
|
|
15404
|
+
value: true,
|
|
15405
|
+
source: "official-doc",
|
|
15406
|
+
confidence: "declared",
|
|
15407
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
15408
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
15409
|
+
},
|
|
15410
|
+
midConversationToolChanges: {
|
|
15411
|
+
value: {
|
|
15412
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
15413
|
+
},
|
|
15414
|
+
source: "official-doc",
|
|
15415
|
+
confidence: "declared",
|
|
15416
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
15417
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
15418
|
+
},
|
|
15419
|
+
inlineToolDefinitions: {
|
|
15420
|
+
value: {
|
|
15421
|
+
beta: "inline-tools-2026-09-15"
|
|
15422
|
+
},
|
|
15423
|
+
source: "official-doc",
|
|
15424
|
+
confidence: "declared",
|
|
15425
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
15426
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
15427
|
+
},
|
|
15428
|
+
assistantPrefill: {
|
|
15429
|
+
value: false,
|
|
15430
|
+
source: "official-doc",
|
|
15431
|
+
confidence: "declared",
|
|
15432
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
15433
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
15434
|
+
},
|
|
15310
15435
|
canonicalModelId: "claude-fable-5.1",
|
|
15311
15436
|
modelFamily: "claude"
|
|
15312
15437
|
},
|
|
@@ -15405,6 +15530,13 @@ var catalog_default = {
|
|
|
15405
15530
|
"thinking.type.adaptive"
|
|
15406
15531
|
],
|
|
15407
15532
|
status: "candidate",
|
|
15533
|
+
deferredToolLoading: {
|
|
15534
|
+
value: true,
|
|
15535
|
+
source: "official-doc",
|
|
15536
|
+
confidence: "declared",
|
|
15537
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
15538
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
15539
|
+
},
|
|
15408
15540
|
canonicalModelId: "claude-haiku-4.5-20251001",
|
|
15409
15541
|
modelFamily: "claude"
|
|
15410
15542
|
},
|
|
@@ -15503,6 +15635,13 @@ var catalog_default = {
|
|
|
15503
15635
|
"thinking.type.adaptive"
|
|
15504
15636
|
],
|
|
15505
15637
|
status: "candidate",
|
|
15638
|
+
deferredToolLoading: {
|
|
15639
|
+
value: true,
|
|
15640
|
+
source: "official-doc",
|
|
15641
|
+
confidence: "declared",
|
|
15642
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
15643
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
15644
|
+
},
|
|
15506
15645
|
canonicalModelId: "claude-haiku-4.5",
|
|
15507
15646
|
modelFamily: "claude"
|
|
15508
15647
|
},
|
|
@@ -15627,6 +15766,13 @@ var catalog_default = {
|
|
|
15627
15766
|
"thinking.type.adaptive"
|
|
15628
15767
|
],
|
|
15629
15768
|
status: "candidate",
|
|
15769
|
+
deferredToolLoading: {
|
|
15770
|
+
value: true,
|
|
15771
|
+
source: "official-doc",
|
|
15772
|
+
confidence: "declared",
|
|
15773
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
15774
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
15775
|
+
},
|
|
15630
15776
|
canonicalModelId: "claude-opus-4.5",
|
|
15631
15777
|
modelFamily: "claude"
|
|
15632
15778
|
},
|
|
@@ -15635,7 +15781,9 @@ var catalog_default = {
|
|
|
15635
15781
|
providerId: "anthropic",
|
|
15636
15782
|
upstreamId: "claude-opus-4.6",
|
|
15637
15783
|
displayName: "Claude Opus 4.6",
|
|
15638
|
-
aliases: [
|
|
15784
|
+
aliases: [
|
|
15785
|
+
"claude-opus-4-6"
|
|
15786
|
+
],
|
|
15639
15787
|
endpoints: [
|
|
15640
15788
|
"chat"
|
|
15641
15789
|
],
|
|
@@ -15747,6 +15895,20 @@ var catalog_default = {
|
|
|
15747
15895
|
},
|
|
15748
15896
|
unsupportedParameters: [],
|
|
15749
15897
|
status: "candidate",
|
|
15898
|
+
deferredToolLoading: {
|
|
15899
|
+
value: true,
|
|
15900
|
+
source: "official-doc",
|
|
15901
|
+
confidence: "declared",
|
|
15902
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
15903
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
15904
|
+
},
|
|
15905
|
+
assistantPrefill: {
|
|
15906
|
+
value: false,
|
|
15907
|
+
source: "official-doc",
|
|
15908
|
+
confidence: "declared",
|
|
15909
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
15910
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
15911
|
+
},
|
|
15750
15912
|
canonicalModelId: "claude-opus-4.6",
|
|
15751
15913
|
modelFamily: "claude"
|
|
15752
15914
|
},
|
|
@@ -15755,7 +15917,9 @@ var catalog_default = {
|
|
|
15755
15917
|
providerId: "anthropic",
|
|
15756
15918
|
upstreamId: "claude-opus-4.7",
|
|
15757
15919
|
displayName: "Claude Opus 4.7",
|
|
15758
|
-
aliases: [
|
|
15920
|
+
aliases: [
|
|
15921
|
+
"claude-opus-4-7"
|
|
15922
|
+
],
|
|
15759
15923
|
endpoints: [
|
|
15760
15924
|
"chat"
|
|
15761
15925
|
],
|
|
@@ -15873,6 +16037,20 @@ var catalog_default = {
|
|
|
15873
16037
|
"thinking.type.enabled"
|
|
15874
16038
|
],
|
|
15875
16039
|
status: "candidate",
|
|
16040
|
+
deferredToolLoading: {
|
|
16041
|
+
value: true,
|
|
16042
|
+
source: "official-doc",
|
|
16043
|
+
confidence: "declared",
|
|
16044
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
16045
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
16046
|
+
},
|
|
16047
|
+
assistantPrefill: {
|
|
16048
|
+
value: false,
|
|
16049
|
+
source: "official-doc",
|
|
16050
|
+
confidence: "declared",
|
|
16051
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16052
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
16053
|
+
},
|
|
15876
16054
|
canonicalModelId: "claude-opus-4.7",
|
|
15877
16055
|
modelFamily: "claude"
|
|
15878
16056
|
},
|
|
@@ -15881,7 +16059,9 @@ var catalog_default = {
|
|
|
15881
16059
|
providerId: "anthropic",
|
|
15882
16060
|
upstreamId: "claude-opus-4.8",
|
|
15883
16061
|
displayName: "Claude Opus 4.8",
|
|
15884
|
-
aliases: [
|
|
16062
|
+
aliases: [
|
|
16063
|
+
"claude-opus-4-8"
|
|
16064
|
+
],
|
|
15885
16065
|
endpoints: [
|
|
15886
16066
|
"chat"
|
|
15887
16067
|
],
|
|
@@ -15999,6 +16179,45 @@ var catalog_default = {
|
|
|
15999
16179
|
"thinking.type.enabled"
|
|
16000
16180
|
],
|
|
16001
16181
|
status: "candidate",
|
|
16182
|
+
deferredToolLoading: {
|
|
16183
|
+
value: true,
|
|
16184
|
+
source: "official-doc",
|
|
16185
|
+
confidence: "declared",
|
|
16186
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
16187
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
16188
|
+
},
|
|
16189
|
+
midConversationSystem: {
|
|
16190
|
+
value: true,
|
|
16191
|
+
source: "official-doc",
|
|
16192
|
+
confidence: "declared",
|
|
16193
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
16194
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
16195
|
+
},
|
|
16196
|
+
midConversationToolChanges: {
|
|
16197
|
+
value: {
|
|
16198
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
16199
|
+
},
|
|
16200
|
+
source: "official-doc",
|
|
16201
|
+
confidence: "declared",
|
|
16202
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16203
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
16204
|
+
},
|
|
16205
|
+
inlineToolDefinitions: {
|
|
16206
|
+
value: {
|
|
16207
|
+
beta: "inline-tools-2026-09-15"
|
|
16208
|
+
},
|
|
16209
|
+
source: "official-doc",
|
|
16210
|
+
confidence: "declared",
|
|
16211
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16212
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
16213
|
+
},
|
|
16214
|
+
assistantPrefill: {
|
|
16215
|
+
value: false,
|
|
16216
|
+
source: "official-doc",
|
|
16217
|
+
confidence: "declared",
|
|
16218
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16219
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
16220
|
+
},
|
|
16002
16221
|
canonicalModelId: "claude-opus-4.8",
|
|
16003
16222
|
modelFamily: "claude"
|
|
16004
16223
|
},
|
|
@@ -16147,6 +16366,15 @@ var catalog_default = {
|
|
|
16147
16366
|
confidence: "declared",
|
|
16148
16367
|
observedAt: "2026-09-25T12:30:00Z",
|
|
16149
16368
|
sourceRef: "https://platform.claude.com/docs/en/build-with-claude/effort — the effort page's supportedModels list names claude-fable-5-1, claude-fable-5, claude-opus-5-5, claude-opus-5, claude-opus-4-8, claude-opus-4-7, claude-opus-4-6, claude-opus-4-5-20251101, claude-sonnet-5 and claude-sonnet-4-6: effort is requested through `output_config.effort` (Claude 4.7 and later reject a manual `thinking.budget_tokens`, https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting#rejected-configurations)."
|
|
16369
|
+
},
|
|
16370
|
+
perMessageEffort: {
|
|
16371
|
+
value: {
|
|
16372
|
+
beta: "mid-conversation-output-config-2026-07-01"
|
|
16373
|
+
},
|
|
16374
|
+
source: "official-doc",
|
|
16375
|
+
confidence: "declared",
|
|
16376
|
+
observedAt: "2026-09-25T18:00:00Z",
|
|
16377
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta — "On Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, and Claude Opus 5, use a per-message effort change, which keeps the prompt cache": a role:"system" message with empty content and output_config.effort, beta header mid-conversation-output-config-2026-07-01; "Models without per-message effort, including Claude Fable 5, return a 400 error". claude 2.1.282 sends the older alias per-turn-control-2026-07-01, which the page does not document.'
|
|
16150
16378
|
}
|
|
16151
16379
|
},
|
|
16152
16380
|
pricing: {
|
|
@@ -16165,9 +16393,50 @@ var catalog_default = {
|
|
|
16165
16393
|
"temperature",
|
|
16166
16394
|
"top_p",
|
|
16167
16395
|
"top_k",
|
|
16168
|
-
"thinking.type.enabled"
|
|
16396
|
+
"thinking.type.enabled",
|
|
16397
|
+
"thinking.type.disabled+output_config.effort.xhigh",
|
|
16398
|
+
"thinking.type.disabled+output_config.effort.max"
|
|
16169
16399
|
],
|
|
16170
16400
|
status: "candidate",
|
|
16401
|
+
deferredToolLoading: {
|
|
16402
|
+
value: true,
|
|
16403
|
+
source: "official-doc",
|
|
16404
|
+
confidence: "declared",
|
|
16405
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
16406
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
16407
|
+
},
|
|
16408
|
+
midConversationSystem: {
|
|
16409
|
+
value: true,
|
|
16410
|
+
source: "official-doc",
|
|
16411
|
+
confidence: "declared",
|
|
16412
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
16413
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
16414
|
+
},
|
|
16415
|
+
midConversationToolChanges: {
|
|
16416
|
+
value: {
|
|
16417
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
16418
|
+
},
|
|
16419
|
+
source: "official-doc",
|
|
16420
|
+
confidence: "declared",
|
|
16421
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16422
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
16423
|
+
},
|
|
16424
|
+
inlineToolDefinitions: {
|
|
16425
|
+
value: {
|
|
16426
|
+
beta: "inline-tools-2026-09-15"
|
|
16427
|
+
},
|
|
16428
|
+
source: "official-doc",
|
|
16429
|
+
confidence: "declared",
|
|
16430
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16431
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
16432
|
+
},
|
|
16433
|
+
assistantPrefill: {
|
|
16434
|
+
value: false,
|
|
16435
|
+
source: "official-doc",
|
|
16436
|
+
confidence: "declared",
|
|
16437
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16438
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
16439
|
+
},
|
|
16171
16440
|
canonicalModelId: "claude-opus-5",
|
|
16172
16441
|
modelFamily: "claude"
|
|
16173
16442
|
},
|
|
@@ -16327,6 +16596,15 @@ var catalog_default = {
|
|
|
16327
16596
|
confidence: "declared",
|
|
16328
16597
|
observedAt: "2026-09-25T13:00:00Z",
|
|
16329
16598
|
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting — "A 400 error says a thinking block signature is invalid": on Claude Fable 5.1 and Opus 5.5 a replayed thinking block is bound to the conversation (system, tools and earlier messages) and is rejected once that prefix changes (enforced for accounts created on or after 2026-08-31); the documented escape is the `thinking-binding-controls-2026-08-01` beta with `thinking.block_binding.prefix_mismatch_behavior: "drop_block"`. See also https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5 ("Thinking blocks are tied to the model and the conversation").'
|
|
16599
|
+
},
|
|
16600
|
+
perMessageEffort: {
|
|
16601
|
+
value: {
|
|
16602
|
+
beta: "mid-conversation-output-config-2026-07-01"
|
|
16603
|
+
},
|
|
16604
|
+
source: "official-doc",
|
|
16605
|
+
confidence: "declared",
|
|
16606
|
+
observedAt: "2026-09-25T18:00:00Z",
|
|
16607
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta — "On Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, and Claude Opus 5, use a per-message effort change, which keeps the prompt cache": a role:"system" message with empty content and output_config.effort, beta header mid-conversation-output-config-2026-07-01; "Models without per-message effort, including Claude Fable 5, return a 400 error". claude 2.1.282 sends the older alias per-turn-control-2026-07-01, which the page does not document.'
|
|
16330
16608
|
}
|
|
16331
16609
|
},
|
|
16332
16610
|
pricing: {
|
|
@@ -16348,6 +16626,45 @@ var catalog_default = {
|
|
|
16348
16626
|
"tool_choice.tool"
|
|
16349
16627
|
],
|
|
16350
16628
|
status: "candidate",
|
|
16629
|
+
deferredToolLoading: {
|
|
16630
|
+
value: true,
|
|
16631
|
+
source: "official-doc",
|
|
16632
|
+
confidence: "declared",
|
|
16633
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
16634
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
16635
|
+
},
|
|
16636
|
+
midConversationSystem: {
|
|
16637
|
+
value: true,
|
|
16638
|
+
source: "official-doc",
|
|
16639
|
+
confidence: "declared",
|
|
16640
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
16641
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
16642
|
+
},
|
|
16643
|
+
midConversationToolChanges: {
|
|
16644
|
+
value: {
|
|
16645
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
16646
|
+
},
|
|
16647
|
+
source: "official-doc",
|
|
16648
|
+
confidence: "declared",
|
|
16649
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16650
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
16651
|
+
},
|
|
16652
|
+
inlineToolDefinitions: {
|
|
16653
|
+
value: {
|
|
16654
|
+
beta: "inline-tools-2026-09-15"
|
|
16655
|
+
},
|
|
16656
|
+
source: "official-doc",
|
|
16657
|
+
confidence: "declared",
|
|
16658
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16659
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
16660
|
+
},
|
|
16661
|
+
assistantPrefill: {
|
|
16662
|
+
value: false,
|
|
16663
|
+
source: "official-doc",
|
|
16664
|
+
confidence: "declared",
|
|
16665
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
16666
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
16667
|
+
},
|
|
16351
16668
|
canonicalModelId: "claude-opus-5.5",
|
|
16352
16669
|
modelFamily: "claude"
|
|
16353
16670
|
},
|
|
@@ -16463,6 +16780,13 @@ var catalog_default = {
|
|
|
16463
16780
|
"thinking.type.adaptive"
|
|
16464
16781
|
],
|
|
16465
16782
|
status: "candidate",
|
|
16783
|
+
deferredToolLoading: {
|
|
16784
|
+
value: true,
|
|
16785
|
+
source: "official-doc",
|
|
16786
|
+
confidence: "declared",
|
|
16787
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
16788
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
16789
|
+
},
|
|
16466
16790
|
canonicalModelId: "claude-sonnet-4.5",
|
|
16467
16791
|
modelFamily: "claude"
|
|
16468
16792
|
},
|
|
@@ -16471,7 +16795,9 @@ var catalog_default = {
|
|
|
16471
16795
|
providerId: "anthropic",
|
|
16472
16796
|
upstreamId: "claude-sonnet-4.6",
|
|
16473
16797
|
displayName: "Claude Sonnet 4.6",
|
|
16474
|
-
aliases: [
|
|
16798
|
+
aliases: [
|
|
16799
|
+
"claude-sonnet-4-6"
|
|
16800
|
+
],
|
|
16475
16801
|
endpoints: [
|
|
16476
16802
|
"chat"
|
|
16477
16803
|
],
|
|
@@ -16583,6 +16909,13 @@ var catalog_default = {
|
|
|
16583
16909
|
},
|
|
16584
16910
|
unsupportedParameters: [],
|
|
16585
16911
|
status: "candidate",
|
|
16912
|
+
deferredToolLoading: {
|
|
16913
|
+
value: true,
|
|
16914
|
+
source: "official-doc",
|
|
16915
|
+
confidence: "declared",
|
|
16916
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
16917
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
16918
|
+
},
|
|
16586
16919
|
canonicalModelId: "claude-sonnet-4.6",
|
|
16587
16920
|
modelFamily: "claude"
|
|
16588
16921
|
},
|
|
@@ -16754,6 +17087,13 @@ var catalog_default = {
|
|
|
16754
17087
|
"thinking.type.enabled"
|
|
16755
17088
|
],
|
|
16756
17089
|
status: "candidate",
|
|
17090
|
+
assistantPrefill: {
|
|
17091
|
+
value: false,
|
|
17092
|
+
source: "official-doc",
|
|
17093
|
+
confidence: "declared",
|
|
17094
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
17095
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
17096
|
+
},
|
|
16757
17097
|
canonicalModelId: "claude-sonnet-5",
|
|
16758
17098
|
modelFamily: "claude"
|
|
16759
17099
|
},
|
|
@@ -25957,6 +26297,20 @@ var catalog_default = {
|
|
|
25957
26297
|
},
|
|
25958
26298
|
unsupportedParameters: [],
|
|
25959
26299
|
status: "candidate",
|
|
26300
|
+
promptCacheKey: {
|
|
26301
|
+
value: true,
|
|
26302
|
+
source: "official-doc",
|
|
26303
|
+
confidence: "declared",
|
|
26304
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
26305
|
+
sourceRef: "https://github.com/openai/codex/blob/main/codex-rs/core/src/client.rs — Codex (the vendor's own client for this backend) sets prompt_cache_key on every Responses request, to the session id (or source:parent_thread_id for internal sessions); https://developers.openai.com/api/docs/guides/prompt-caching documents the field."
|
|
26306
|
+
},
|
|
26307
|
+
clientToolSearch: {
|
|
26308
|
+
value: true,
|
|
26309
|
+
source: "upstream-static",
|
|
26310
|
+
confidence: "declared",
|
|
26311
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
26312
|
+
sourceRef: "codex-rs models-manager/models.json (cloned 25270df, 2026-09-26): supports_search_tool is true on every bundled model; core/src/tools/spec_plan.rs:653-666 turns on the client tool_search (tools/src/tool_search.rs:84-110, core/src/tools/handlers/tool_search_spec.rs:98) when the provider's namespace capability is on (default true) -- the vendor's own client sends it to chatgpt.com/backend-api/codex."
|
|
26313
|
+
},
|
|
25960
26314
|
canonicalModelId: "gpt-5.6-luna",
|
|
25961
26315
|
modelFamily: "gpt"
|
|
25962
26316
|
},
|
|
@@ -26064,6 +26418,20 @@ var catalog_default = {
|
|
|
26064
26418
|
},
|
|
26065
26419
|
unsupportedParameters: [],
|
|
26066
26420
|
status: "candidate",
|
|
26421
|
+
promptCacheKey: {
|
|
26422
|
+
value: true,
|
|
26423
|
+
source: "official-doc",
|
|
26424
|
+
confidence: "declared",
|
|
26425
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
26426
|
+
sourceRef: "https://github.com/openai/codex/blob/main/codex-rs/core/src/client.rs — Codex (the vendor's own client for this backend) sets prompt_cache_key on every Responses request, to the session id (or source:parent_thread_id for internal sessions); https://developers.openai.com/api/docs/guides/prompt-caching documents the field."
|
|
26427
|
+
},
|
|
26428
|
+
clientToolSearch: {
|
|
26429
|
+
value: true,
|
|
26430
|
+
source: "upstream-static",
|
|
26431
|
+
confidence: "declared",
|
|
26432
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
26433
|
+
sourceRef: "codex-rs models-manager/models.json (cloned 25270df, 2026-09-26): supports_search_tool is true on every bundled model; core/src/tools/spec_plan.rs:653-666 turns on the client tool_search (tools/src/tool_search.rs:84-110, core/src/tools/handlers/tool_search_spec.rs:98) when the provider's namespace capability is on (default true) -- the vendor's own client sends it to chatgpt.com/backend-api/codex."
|
|
26434
|
+
},
|
|
26067
26435
|
canonicalModelId: "gpt-5.6-sol",
|
|
26068
26436
|
modelFamily: "gpt"
|
|
26069
26437
|
},
|
|
@@ -26171,6 +26539,20 @@ var catalog_default = {
|
|
|
26171
26539
|
},
|
|
26172
26540
|
unsupportedParameters: [],
|
|
26173
26541
|
status: "candidate",
|
|
26542
|
+
promptCacheKey: {
|
|
26543
|
+
value: true,
|
|
26544
|
+
source: "official-doc",
|
|
26545
|
+
confidence: "declared",
|
|
26546
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
26547
|
+
sourceRef: "https://github.com/openai/codex/blob/main/codex-rs/core/src/client.rs — Codex (the vendor's own client for this backend) sets prompt_cache_key on every Responses request, to the session id (or source:parent_thread_id for internal sessions); https://developers.openai.com/api/docs/guides/prompt-caching documents the field."
|
|
26548
|
+
},
|
|
26549
|
+
clientToolSearch: {
|
|
26550
|
+
value: true,
|
|
26551
|
+
source: "upstream-static",
|
|
26552
|
+
confidence: "declared",
|
|
26553
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
26554
|
+
sourceRef: "codex-rs models-manager/models.json (cloned 25270df, 2026-09-26): supports_search_tool is true on every bundled model; core/src/tools/spec_plan.rs:653-666 turns on the client tool_search (tools/src/tool_search.rs:84-110, core/src/tools/handlers/tool_search_spec.rs:98) when the provider's namespace capability is on (default true) -- the vendor's own client sends it to chatgpt.com/backend-api/codex."
|
|
26555
|
+
},
|
|
26174
26556
|
canonicalModelId: "gpt-5.6-terra",
|
|
26175
26557
|
modelFamily: "gpt"
|
|
26176
26558
|
},
|
|
@@ -26280,6 +26662,20 @@ var catalog_default = {
|
|
|
26280
26662
|
},
|
|
26281
26663
|
unsupportedParameters: [],
|
|
26282
26664
|
status: "candidate",
|
|
26665
|
+
promptCacheKey: {
|
|
26666
|
+
value: true,
|
|
26667
|
+
source: "official-doc",
|
|
26668
|
+
confidence: "declared",
|
|
26669
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
26670
|
+
sourceRef: "https://github.com/openai/codex/blob/main/codex-rs/core/src/client.rs — Codex (the vendor's own client for this backend) sets prompt_cache_key on every Responses request, to the session id (or source:parent_thread_id for internal sessions); https://developers.openai.com/api/docs/guides/prompt-caching documents the field."
|
|
26671
|
+
},
|
|
26672
|
+
clientToolSearch: {
|
|
26673
|
+
value: true,
|
|
26674
|
+
source: "upstream-static",
|
|
26675
|
+
confidence: "declared",
|
|
26676
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
26677
|
+
sourceRef: "codex-rs models-manager/models.json (cloned 25270df, 2026-09-26): supports_search_tool is true on every bundled model; core/src/tools/spec_plan.rs:653-666 turns on the client tool_search (tools/src/tool_search.rs:84-110, core/src/tools/handlers/tool_search_spec.rs:98) when the provider's namespace capability is on (default true) -- the vendor's own client sends it to chatgpt.com/backend-api/codex."
|
|
26678
|
+
},
|
|
26283
26679
|
canonicalModelId: "gpt-6-astra",
|
|
26284
26680
|
modelFamily: "gpt"
|
|
26285
26681
|
},
|
|
@@ -26389,6 +26785,20 @@ var catalog_default = {
|
|
|
26389
26785
|
},
|
|
26390
26786
|
unsupportedParameters: [],
|
|
26391
26787
|
status: "candidate",
|
|
26788
|
+
promptCacheKey: {
|
|
26789
|
+
value: true,
|
|
26790
|
+
source: "official-doc",
|
|
26791
|
+
confidence: "declared",
|
|
26792
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
26793
|
+
sourceRef: "https://github.com/openai/codex/blob/main/codex-rs/core/src/client.rs — Codex (the vendor's own client for this backend) sets prompt_cache_key on every Responses request, to the session id (or source:parent_thread_id for internal sessions); https://developers.openai.com/api/docs/guides/prompt-caching documents the field."
|
|
26794
|
+
},
|
|
26795
|
+
clientToolSearch: {
|
|
26796
|
+
value: true,
|
|
26797
|
+
source: "upstream-static",
|
|
26798
|
+
confidence: "declared",
|
|
26799
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
26800
|
+
sourceRef: "codex-rs models-manager/models.json (cloned 25270df, 2026-09-26): supports_search_tool is true on every bundled model; core/src/tools/spec_plan.rs:653-666 turns on the client tool_search (tools/src/tool_search.rs:84-110, core/src/tools/handlers/tool_search_spec.rs:98) when the provider's namespace capability is on (default true) -- the vendor's own client sends it to chatgpt.com/backend-api/codex."
|
|
26801
|
+
},
|
|
26392
26802
|
canonicalModelId: "gpt-6-luna",
|
|
26393
26803
|
modelFamily: "gpt"
|
|
26394
26804
|
},
|
|
@@ -26498,6 +26908,20 @@ var catalog_default = {
|
|
|
26498
26908
|
},
|
|
26499
26909
|
unsupportedParameters: [],
|
|
26500
26910
|
status: "candidate",
|
|
26911
|
+
promptCacheKey: {
|
|
26912
|
+
value: true,
|
|
26913
|
+
source: "official-doc",
|
|
26914
|
+
confidence: "declared",
|
|
26915
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
26916
|
+
sourceRef: "https://github.com/openai/codex/blob/main/codex-rs/core/src/client.rs — Codex (the vendor's own client for this backend) sets prompt_cache_key on every Responses request, to the session id (or source:parent_thread_id for internal sessions); https://developers.openai.com/api/docs/guides/prompt-caching documents the field."
|
|
26917
|
+
},
|
|
26918
|
+
clientToolSearch: {
|
|
26919
|
+
value: true,
|
|
26920
|
+
source: "upstream-static",
|
|
26921
|
+
confidence: "declared",
|
|
26922
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
26923
|
+
sourceRef: "codex-rs models-manager/models.json (cloned 25270df, 2026-09-26): supports_search_tool is true on every bundled model; core/src/tools/spec_plan.rs:653-666 turns on the client tool_search (tools/src/tool_search.rs:84-110, core/src/tools/handlers/tool_search_spec.rs:98) when the provider's namespace capability is on (default true) -- the vendor's own client sends it to chatgpt.com/backend-api/codex."
|
|
26924
|
+
},
|
|
26501
26925
|
canonicalModelId: "gpt-6-sol",
|
|
26502
26926
|
modelFamily: "gpt"
|
|
26503
26927
|
},
|
|
@@ -27241,6 +27665,45 @@ var catalog_default = {
|
|
|
27241
27665
|
"thinking.type.disabled"
|
|
27242
27666
|
],
|
|
27243
27667
|
status: "candidate",
|
|
27668
|
+
deferredToolLoading: {
|
|
27669
|
+
value: true,
|
|
27670
|
+
source: "official-doc",
|
|
27671
|
+
confidence: "declared",
|
|
27672
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
27673
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
27674
|
+
},
|
|
27675
|
+
midConversationSystem: {
|
|
27676
|
+
value: true,
|
|
27677
|
+
source: "official-doc",
|
|
27678
|
+
confidence: "declared",
|
|
27679
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
27680
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
27681
|
+
},
|
|
27682
|
+
midConversationToolChanges: {
|
|
27683
|
+
value: {
|
|
27684
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
27685
|
+
},
|
|
27686
|
+
source: "official-doc",
|
|
27687
|
+
confidence: "declared",
|
|
27688
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
27689
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
27690
|
+
},
|
|
27691
|
+
inlineToolDefinitions: {
|
|
27692
|
+
value: {
|
|
27693
|
+
beta: "inline-tools-2026-09-15"
|
|
27694
|
+
},
|
|
27695
|
+
source: "official-doc",
|
|
27696
|
+
confidence: "declared",
|
|
27697
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
27698
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
27699
|
+
},
|
|
27700
|
+
assistantPrefill: {
|
|
27701
|
+
value: false,
|
|
27702
|
+
source: "official-doc",
|
|
27703
|
+
confidence: "declared",
|
|
27704
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
27705
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
27706
|
+
},
|
|
27244
27707
|
canonicalModelId: "claude-fable-5",
|
|
27245
27708
|
modelFamily: "claude"
|
|
27246
27709
|
},
|
|
@@ -27391,6 +27854,15 @@ var catalog_default = {
|
|
|
27391
27854
|
confidence: "declared",
|
|
27392
27855
|
observedAt: "2026-09-25T13:00:00Z",
|
|
27393
27856
|
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting — "A 400 error says a thinking block signature is invalid": on Claude Fable 5.1 and Opus 5.5 a replayed thinking block is bound to the conversation (system, tools and earlier messages) and is rejected once that prefix changes (enforced for accounts created on or after 2026-08-31); the documented escape is the `thinking-binding-controls-2026-08-01` beta with `thinking.block_binding.prefix_mismatch_behavior: "drop_block"`. See also https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5 ("Thinking blocks are tied to the model and the conversation").'
|
|
27857
|
+
},
|
|
27858
|
+
perMessageEffort: {
|
|
27859
|
+
value: {
|
|
27860
|
+
beta: "mid-conversation-output-config-2026-07-01"
|
|
27861
|
+
},
|
|
27862
|
+
source: "official-doc",
|
|
27863
|
+
confidence: "declared",
|
|
27864
|
+
observedAt: "2026-09-25T18:00:00Z",
|
|
27865
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta — "On Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, and Claude Opus 5, use a per-message effort change, which keeps the prompt cache": a role:"system" message with empty content and output_config.effort, beta header mid-conversation-output-config-2026-07-01; "Models without per-message effort, including Claude Fable 5, return a 400 error". claude 2.1.282 sends the older alias per-turn-control-2026-07-01, which the page does not document.'
|
|
27394
27866
|
}
|
|
27395
27867
|
},
|
|
27396
27868
|
pricing: {
|
|
@@ -27412,6 +27884,45 @@ var catalog_default = {
|
|
|
27412
27884
|
"tool_choice.tool"
|
|
27413
27885
|
],
|
|
27414
27886
|
status: "candidate",
|
|
27887
|
+
deferredToolLoading: {
|
|
27888
|
+
value: true,
|
|
27889
|
+
source: "official-doc",
|
|
27890
|
+
confidence: "declared",
|
|
27891
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
27892
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
27893
|
+
},
|
|
27894
|
+
midConversationSystem: {
|
|
27895
|
+
value: true,
|
|
27896
|
+
source: "official-doc",
|
|
27897
|
+
confidence: "declared",
|
|
27898
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
27899
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
27900
|
+
},
|
|
27901
|
+
midConversationToolChanges: {
|
|
27902
|
+
value: {
|
|
27903
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
27904
|
+
},
|
|
27905
|
+
source: "official-doc",
|
|
27906
|
+
confidence: "declared",
|
|
27907
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
27908
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
27909
|
+
},
|
|
27910
|
+
inlineToolDefinitions: {
|
|
27911
|
+
value: {
|
|
27912
|
+
beta: "inline-tools-2026-09-15"
|
|
27913
|
+
},
|
|
27914
|
+
source: "official-doc",
|
|
27915
|
+
confidence: "declared",
|
|
27916
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
27917
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
27918
|
+
},
|
|
27919
|
+
assistantPrefill: {
|
|
27920
|
+
value: false,
|
|
27921
|
+
source: "official-doc",
|
|
27922
|
+
confidence: "declared",
|
|
27923
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
27924
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
27925
|
+
},
|
|
27415
27926
|
canonicalModelId: "claude-fable-5.1",
|
|
27416
27927
|
modelFamily: "claude"
|
|
27417
27928
|
},
|
|
@@ -27510,6 +28021,13 @@ var catalog_default = {
|
|
|
27510
28021
|
"thinking.type.adaptive"
|
|
27511
28022
|
],
|
|
27512
28023
|
status: "candidate",
|
|
28024
|
+
deferredToolLoading: {
|
|
28025
|
+
value: true,
|
|
28026
|
+
source: "official-doc",
|
|
28027
|
+
confidence: "declared",
|
|
28028
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
28029
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
28030
|
+
},
|
|
27513
28031
|
canonicalModelId: "claude-haiku-4.5-20251001",
|
|
27514
28032
|
modelFamily: "claude"
|
|
27515
28033
|
},
|
|
@@ -27608,6 +28126,13 @@ var catalog_default = {
|
|
|
27608
28126
|
"thinking.type.adaptive"
|
|
27609
28127
|
],
|
|
27610
28128
|
status: "candidate",
|
|
28129
|
+
deferredToolLoading: {
|
|
28130
|
+
value: true,
|
|
28131
|
+
source: "official-doc",
|
|
28132
|
+
confidence: "declared",
|
|
28133
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
28134
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
28135
|
+
},
|
|
27611
28136
|
canonicalModelId: "claude-haiku-4.5",
|
|
27612
28137
|
modelFamily: "claude"
|
|
27613
28138
|
},
|
|
@@ -27732,6 +28257,13 @@ var catalog_default = {
|
|
|
27732
28257
|
"thinking.type.adaptive"
|
|
27733
28258
|
],
|
|
27734
28259
|
status: "candidate",
|
|
28260
|
+
deferredToolLoading: {
|
|
28261
|
+
value: true,
|
|
28262
|
+
source: "official-doc",
|
|
28263
|
+
confidence: "declared",
|
|
28264
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
28265
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
28266
|
+
},
|
|
27735
28267
|
canonicalModelId: "claude-opus-4.5",
|
|
27736
28268
|
modelFamily: "claude"
|
|
27737
28269
|
},
|
|
@@ -27740,7 +28272,9 @@ var catalog_default = {
|
|
|
27740
28272
|
providerId: "console",
|
|
27741
28273
|
upstreamId: "claude-opus-4.6",
|
|
27742
28274
|
displayName: "Claude Opus 4.6",
|
|
27743
|
-
aliases: [
|
|
28275
|
+
aliases: [
|
|
28276
|
+
"claude-opus-4-6"
|
|
28277
|
+
],
|
|
27744
28278
|
endpoints: [
|
|
27745
28279
|
"chat"
|
|
27746
28280
|
],
|
|
@@ -27852,6 +28386,20 @@ var catalog_default = {
|
|
|
27852
28386
|
},
|
|
27853
28387
|
unsupportedParameters: [],
|
|
27854
28388
|
status: "candidate",
|
|
28389
|
+
deferredToolLoading: {
|
|
28390
|
+
value: true,
|
|
28391
|
+
source: "official-doc",
|
|
28392
|
+
confidence: "declared",
|
|
28393
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
28394
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
28395
|
+
},
|
|
28396
|
+
assistantPrefill: {
|
|
28397
|
+
value: false,
|
|
28398
|
+
source: "official-doc",
|
|
28399
|
+
confidence: "declared",
|
|
28400
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
28401
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
28402
|
+
},
|
|
27855
28403
|
canonicalModelId: "claude-opus-4.6",
|
|
27856
28404
|
modelFamily: "claude"
|
|
27857
28405
|
},
|
|
@@ -27860,7 +28408,9 @@ var catalog_default = {
|
|
|
27860
28408
|
providerId: "console",
|
|
27861
28409
|
upstreamId: "claude-opus-4.7",
|
|
27862
28410
|
displayName: "Claude Opus 4.7",
|
|
27863
|
-
aliases: [
|
|
28411
|
+
aliases: [
|
|
28412
|
+
"claude-opus-4-7"
|
|
28413
|
+
],
|
|
27864
28414
|
endpoints: [
|
|
27865
28415
|
"chat"
|
|
27866
28416
|
],
|
|
@@ -27978,6 +28528,20 @@ var catalog_default = {
|
|
|
27978
28528
|
"thinking.type.enabled"
|
|
27979
28529
|
],
|
|
27980
28530
|
status: "candidate",
|
|
28531
|
+
deferredToolLoading: {
|
|
28532
|
+
value: true,
|
|
28533
|
+
source: "official-doc",
|
|
28534
|
+
confidence: "declared",
|
|
28535
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
28536
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
28537
|
+
},
|
|
28538
|
+
assistantPrefill: {
|
|
28539
|
+
value: false,
|
|
28540
|
+
source: "official-doc",
|
|
28541
|
+
confidence: "declared",
|
|
28542
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
28543
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
28544
|
+
},
|
|
27981
28545
|
canonicalModelId: "claude-opus-4.7",
|
|
27982
28546
|
modelFamily: "claude"
|
|
27983
28547
|
},
|
|
@@ -27986,7 +28550,9 @@ var catalog_default = {
|
|
|
27986
28550
|
providerId: "console",
|
|
27987
28551
|
upstreamId: "claude-opus-4.8",
|
|
27988
28552
|
displayName: "Claude Opus 4.8",
|
|
27989
|
-
aliases: [
|
|
28553
|
+
aliases: [
|
|
28554
|
+
"claude-opus-4-8"
|
|
28555
|
+
],
|
|
27990
28556
|
endpoints: [
|
|
27991
28557
|
"chat"
|
|
27992
28558
|
],
|
|
@@ -28104,6 +28670,45 @@ var catalog_default = {
|
|
|
28104
28670
|
"thinking.type.enabled"
|
|
28105
28671
|
],
|
|
28106
28672
|
status: "candidate",
|
|
28673
|
+
deferredToolLoading: {
|
|
28674
|
+
value: true,
|
|
28675
|
+
source: "official-doc",
|
|
28676
|
+
confidence: "declared",
|
|
28677
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
28678
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
28679
|
+
},
|
|
28680
|
+
midConversationSystem: {
|
|
28681
|
+
value: true,
|
|
28682
|
+
source: "official-doc",
|
|
28683
|
+
confidence: "declared",
|
|
28684
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
28685
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
28686
|
+
},
|
|
28687
|
+
midConversationToolChanges: {
|
|
28688
|
+
value: {
|
|
28689
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
28690
|
+
},
|
|
28691
|
+
source: "official-doc",
|
|
28692
|
+
confidence: "declared",
|
|
28693
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
28694
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
28695
|
+
},
|
|
28696
|
+
inlineToolDefinitions: {
|
|
28697
|
+
value: {
|
|
28698
|
+
beta: "inline-tools-2026-09-15"
|
|
28699
|
+
},
|
|
28700
|
+
source: "official-doc",
|
|
28701
|
+
confidence: "declared",
|
|
28702
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
28703
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
28704
|
+
},
|
|
28705
|
+
assistantPrefill: {
|
|
28706
|
+
value: false,
|
|
28707
|
+
source: "official-doc",
|
|
28708
|
+
confidence: "declared",
|
|
28709
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
28710
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
28711
|
+
},
|
|
28107
28712
|
canonicalModelId: "claude-opus-4.8",
|
|
28108
28713
|
modelFamily: "claude"
|
|
28109
28714
|
},
|
|
@@ -28252,6 +28857,15 @@ var catalog_default = {
|
|
|
28252
28857
|
confidence: "declared",
|
|
28253
28858
|
observedAt: "2026-09-25T12:30:00Z",
|
|
28254
28859
|
sourceRef: "https://platform.claude.com/docs/en/build-with-claude/effort — the effort page's supportedModels list names claude-fable-5-1, claude-fable-5, claude-opus-5-5, claude-opus-5, claude-opus-4-8, claude-opus-4-7, claude-opus-4-6, claude-opus-4-5-20251101, claude-sonnet-5 and claude-sonnet-4-6: effort is requested through `output_config.effort` (Claude 4.7 and later reject a manual `thinking.budget_tokens`, https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting#rejected-configurations)."
|
|
28860
|
+
},
|
|
28861
|
+
perMessageEffort: {
|
|
28862
|
+
value: {
|
|
28863
|
+
beta: "mid-conversation-output-config-2026-07-01"
|
|
28864
|
+
},
|
|
28865
|
+
source: "official-doc",
|
|
28866
|
+
confidence: "declared",
|
|
28867
|
+
observedAt: "2026-09-25T18:00:00Z",
|
|
28868
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta — "On Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, and Claude Opus 5, use a per-message effort change, which keeps the prompt cache": a role:"system" message with empty content and output_config.effort, beta header mid-conversation-output-config-2026-07-01; "Models without per-message effort, including Claude Fable 5, return a 400 error". claude 2.1.282 sends the older alias per-turn-control-2026-07-01, which the page does not document.'
|
|
28255
28869
|
}
|
|
28256
28870
|
},
|
|
28257
28871
|
pricing: {
|
|
@@ -28270,9 +28884,50 @@ var catalog_default = {
|
|
|
28270
28884
|
"temperature",
|
|
28271
28885
|
"top_p",
|
|
28272
28886
|
"top_k",
|
|
28273
|
-
"thinking.type.enabled"
|
|
28887
|
+
"thinking.type.enabled",
|
|
28888
|
+
"thinking.type.disabled+output_config.effort.xhigh",
|
|
28889
|
+
"thinking.type.disabled+output_config.effort.max"
|
|
28274
28890
|
],
|
|
28275
28891
|
status: "candidate",
|
|
28892
|
+
deferredToolLoading: {
|
|
28893
|
+
value: true,
|
|
28894
|
+
source: "official-doc",
|
|
28895
|
+
confidence: "declared",
|
|
28896
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
28897
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
28898
|
+
},
|
|
28899
|
+
midConversationSystem: {
|
|
28900
|
+
value: true,
|
|
28901
|
+
source: "official-doc",
|
|
28902
|
+
confidence: "declared",
|
|
28903
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
28904
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
28905
|
+
},
|
|
28906
|
+
midConversationToolChanges: {
|
|
28907
|
+
value: {
|
|
28908
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
28909
|
+
},
|
|
28910
|
+
source: "official-doc",
|
|
28911
|
+
confidence: "declared",
|
|
28912
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
28913
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
28914
|
+
},
|
|
28915
|
+
inlineToolDefinitions: {
|
|
28916
|
+
value: {
|
|
28917
|
+
beta: "inline-tools-2026-09-15"
|
|
28918
|
+
},
|
|
28919
|
+
source: "official-doc",
|
|
28920
|
+
confidence: "declared",
|
|
28921
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
28922
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
28923
|
+
},
|
|
28924
|
+
assistantPrefill: {
|
|
28925
|
+
value: false,
|
|
28926
|
+
source: "official-doc",
|
|
28927
|
+
confidence: "declared",
|
|
28928
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
28929
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
28930
|
+
},
|
|
28276
28931
|
canonicalModelId: "claude-opus-5",
|
|
28277
28932
|
modelFamily: "claude"
|
|
28278
28933
|
},
|
|
@@ -28432,6 +29087,15 @@ var catalog_default = {
|
|
|
28432
29087
|
confidence: "declared",
|
|
28433
29088
|
observedAt: "2026-09-25T13:00:00Z",
|
|
28434
29089
|
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting — "A 400 error says a thinking block signature is invalid": on Claude Fable 5.1 and Opus 5.5 a replayed thinking block is bound to the conversation (system, tools and earlier messages) and is rejected once that prefix changes (enforced for accounts created on or after 2026-08-31); the documented escape is the `thinking-binding-controls-2026-08-01` beta with `thinking.block_binding.prefix_mismatch_behavior: "drop_block"`. See also https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5 ("Thinking blocks are tied to the model and the conversation").'
|
|
29090
|
+
},
|
|
29091
|
+
perMessageEffort: {
|
|
29092
|
+
value: {
|
|
29093
|
+
beta: "mid-conversation-output-config-2026-07-01"
|
|
29094
|
+
},
|
|
29095
|
+
source: "official-doc",
|
|
29096
|
+
confidence: "declared",
|
|
29097
|
+
observedAt: "2026-09-25T18:00:00Z",
|
|
29098
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta — "On Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, and Claude Opus 5, use a per-message effort change, which keeps the prompt cache": a role:"system" message with empty content and output_config.effort, beta header mid-conversation-output-config-2026-07-01; "Models without per-message effort, including Claude Fable 5, return a 400 error". claude 2.1.282 sends the older alias per-turn-control-2026-07-01, which the page does not document.'
|
|
28435
29099
|
}
|
|
28436
29100
|
},
|
|
28437
29101
|
pricing: {
|
|
@@ -28453,6 +29117,45 @@ var catalog_default = {
|
|
|
28453
29117
|
"tool_choice.tool"
|
|
28454
29118
|
],
|
|
28455
29119
|
status: "candidate",
|
|
29120
|
+
deferredToolLoading: {
|
|
29121
|
+
value: true,
|
|
29122
|
+
source: "official-doc",
|
|
29123
|
+
confidence: "declared",
|
|
29124
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
29125
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
29126
|
+
},
|
|
29127
|
+
midConversationSystem: {
|
|
29128
|
+
value: true,
|
|
29129
|
+
source: "official-doc",
|
|
29130
|
+
confidence: "declared",
|
|
29131
|
+
observedAt: "2026-09-25T19:00:00Z",
|
|
29132
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — "This feature is available on Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5."'
|
|
29133
|
+
},
|
|
29134
|
+
midConversationToolChanges: {
|
|
29135
|
+
value: {
|
|
29136
|
+
beta: "mid-conversation-tool-changes-2026-07-01"
|
|
29137
|
+
},
|
|
29138
|
+
source: "official-doc",
|
|
29139
|
+
confidence: "declared",
|
|
29140
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
29141
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition / tool_removal blocks in a role:"system" message, by reference ("Add/remove by reference: mid-conversation-tool-changes-2026-07-01 — Claude API, Amazon Bedrock, Google Cloud"); available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 4.8 and Opus 5, "Not available on Claude Sonnet 5". Retrieved 2026-09-26; release note 2026-07-24 (https://platform.claude.com/docs/en/release-notes/overview).'
|
|
29142
|
+
},
|
|
29143
|
+
inlineToolDefinitions: {
|
|
29144
|
+
value: {
|
|
29145
|
+
beta: "inline-tools-2026-09-15"
|
|
29146
|
+
},
|
|
29147
|
+
source: "official-doc",
|
|
29148
|
+
confidence: "declared",
|
|
29149
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
29150
|
+
sourceRef: 'https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages — tool_addition with a tool_definition ("Add/remove by reference + define by value: inline-tools-2026-09-15 — Claude API"); "The inline-tools-2026-09-15 header covers all reference-based changes"; redefinition: "send a different definition under the same name ... The new definition replaces the earlier one from that position onward" (no removal first, a tool declared in tools included); a definition reusing the name of a different type of tool is a 400 tool_name_conflict. Same model list as midConversationToolChanges. Claude API only, so set on the anthropic and console providers (both api.anthropic.com), never on a cloud reseller. Retrieved 2026-09-26; release note 2026-09-22.'
|
|
29151
|
+
},
|
|
29152
|
+
assistantPrefill: {
|
|
29153
|
+
value: false,
|
|
29154
|
+
source: "official-doc",
|
|
29155
|
+
confidence: "declared",
|
|
29156
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
29157
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
29158
|
+
},
|
|
28456
29159
|
canonicalModelId: "claude-opus-5.5",
|
|
28457
29160
|
modelFamily: "claude"
|
|
28458
29161
|
},
|
|
@@ -28568,6 +29271,13 @@ var catalog_default = {
|
|
|
28568
29271
|
"thinking.type.adaptive"
|
|
28569
29272
|
],
|
|
28570
29273
|
status: "candidate",
|
|
29274
|
+
deferredToolLoading: {
|
|
29275
|
+
value: true,
|
|
29276
|
+
source: "official-doc",
|
|
29277
|
+
confidence: "declared",
|
|
29278
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
29279
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
29280
|
+
},
|
|
28571
29281
|
canonicalModelId: "claude-sonnet-4.5",
|
|
28572
29282
|
modelFamily: "claude"
|
|
28573
29283
|
},
|
|
@@ -28576,7 +29286,9 @@ var catalog_default = {
|
|
|
28576
29286
|
providerId: "console",
|
|
28577
29287
|
upstreamId: "claude-sonnet-4.6",
|
|
28578
29288
|
displayName: "Claude Sonnet 4.6",
|
|
28579
|
-
aliases: [
|
|
29289
|
+
aliases: [
|
|
29290
|
+
"claude-sonnet-4-6"
|
|
29291
|
+
],
|
|
28580
29292
|
endpoints: [
|
|
28581
29293
|
"chat"
|
|
28582
29294
|
],
|
|
@@ -28688,6 +29400,13 @@ var catalog_default = {
|
|
|
28688
29400
|
},
|
|
28689
29401
|
unsupportedParameters: [],
|
|
28690
29402
|
status: "candidate",
|
|
29403
|
+
deferredToolLoading: {
|
|
29404
|
+
value: true,
|
|
29405
|
+
source: "official-doc",
|
|
29406
|
+
confidence: "declared",
|
|
29407
|
+
observedAt: "2026-09-25T18:30:00Z",
|
|
29408
|
+
sourceRef: 'https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool — the Model compatibility table lists Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, 4.7, 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 (not Sonnet 5); "Custom tool search implementation": a client tool returns a tool_result whose content carries {type:"tool_reference", tool_name} blocks, every referenced tool declared in tools with defer_loading: true, and the API expands them; "The prefix is untouched, so prompt caching is preserved" (https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching).'
|
|
29409
|
+
},
|
|
28691
29410
|
canonicalModelId: "claude-sonnet-4.6",
|
|
28692
29411
|
modelFamily: "claude"
|
|
28693
29412
|
},
|
|
@@ -28859,6 +29578,13 @@ var catalog_default = {
|
|
|
28859
29578
|
"thinking.type.enabled"
|
|
28860
29579
|
],
|
|
28861
29580
|
status: "candidate",
|
|
29581
|
+
assistantPrefill: {
|
|
29582
|
+
value: false,
|
|
29583
|
+
source: "official-doc",
|
|
29584
|
+
confidence: "declared",
|
|
29585
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
29586
|
+
sourceRef: `https://platform.claude.com/docs/en/models/opus-5-5/migration-guide — "Don't end messages with a prefilled assistant turn: it is rejected"; "Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5"; Sonnet 5 and Opus 5: "Manual extended thinking, non-default sampling parameters, and assistant prefill return a 400 error on both models"; the Fable 5.1 guide: prefill "returns a 400 error, unchanged from Claude Fable 5". Live gate 2026-09-26 on claude-opus-5-5: "This model does not support assistant message prefill. The conversation must end with a user message."`
|
|
29587
|
+
},
|
|
28862
29588
|
canonicalModelId: "claude-sonnet-5",
|
|
28863
29589
|
modelFamily: "claude"
|
|
28864
29590
|
},
|
|
@@ -51159,6 +51885,13 @@ var catalog_default = {
|
|
|
51159
51885
|
},
|
|
51160
51886
|
unsupportedParameters: [],
|
|
51161
51887
|
status: "candidate",
|
|
51888
|
+
promptCacheKey: {
|
|
51889
|
+
value: true,
|
|
51890
|
+
source: "official-doc",
|
|
51891
|
+
confidence: "declared",
|
|
51892
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
51893
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
51894
|
+
},
|
|
51162
51895
|
canonicalModelId: "gpt-4.1",
|
|
51163
51896
|
modelFamily: "gpt"
|
|
51164
51897
|
},
|
|
@@ -51239,6 +51972,13 @@ var catalog_default = {
|
|
|
51239
51972
|
},
|
|
51240
51973
|
unsupportedParameters: [],
|
|
51241
51974
|
status: "candidate",
|
|
51975
|
+
promptCacheKey: {
|
|
51976
|
+
value: true,
|
|
51977
|
+
source: "official-doc",
|
|
51978
|
+
confidence: "declared",
|
|
51979
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
51980
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
51981
|
+
},
|
|
51242
51982
|
canonicalModelId: "gpt-4.1-mini",
|
|
51243
51983
|
modelFamily: "gpt"
|
|
51244
51984
|
},
|
|
@@ -51326,6 +52066,13 @@ var catalog_default = {
|
|
|
51326
52066
|
},
|
|
51327
52067
|
unsupportedParameters: [],
|
|
51328
52068
|
status: "candidate",
|
|
52069
|
+
promptCacheKey: {
|
|
52070
|
+
value: true,
|
|
52071
|
+
source: "official-doc",
|
|
52072
|
+
confidence: "declared",
|
|
52073
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52074
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52075
|
+
},
|
|
51329
52076
|
canonicalModelId: "gpt-4.1-nano",
|
|
51330
52077
|
modelFamily: "gpt"
|
|
51331
52078
|
},
|
|
@@ -51406,6 +52153,13 @@ var catalog_default = {
|
|
|
51406
52153
|
},
|
|
51407
52154
|
unsupportedParameters: [],
|
|
51408
52155
|
status: "candidate",
|
|
52156
|
+
promptCacheKey: {
|
|
52157
|
+
value: true,
|
|
52158
|
+
source: "official-doc",
|
|
52159
|
+
confidence: "declared",
|
|
52160
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52161
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52162
|
+
},
|
|
51409
52163
|
canonicalModelId: "gpt-4o",
|
|
51410
52164
|
modelFamily: "gpt"
|
|
51411
52165
|
},
|
|
@@ -51486,6 +52240,13 @@ var catalog_default = {
|
|
|
51486
52240
|
},
|
|
51487
52241
|
unsupportedParameters: [],
|
|
51488
52242
|
status: "candidate",
|
|
52243
|
+
promptCacheKey: {
|
|
52244
|
+
value: true,
|
|
52245
|
+
source: "official-doc",
|
|
52246
|
+
confidence: "declared",
|
|
52247
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52248
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52249
|
+
},
|
|
51489
52250
|
canonicalModelId: "gpt-4o-2024-11-20",
|
|
51490
52251
|
modelFamily: "gpt"
|
|
51491
52252
|
},
|
|
@@ -51566,6 +52327,13 @@ var catalog_default = {
|
|
|
51566
52327
|
},
|
|
51567
52328
|
unsupportedParameters: [],
|
|
51568
52329
|
status: "candidate",
|
|
52330
|
+
promptCacheKey: {
|
|
52331
|
+
value: true,
|
|
52332
|
+
source: "official-doc",
|
|
52333
|
+
confidence: "declared",
|
|
52334
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52335
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52336
|
+
},
|
|
51569
52337
|
canonicalModelId: "gpt-4o-mini",
|
|
51570
52338
|
modelFamily: "gpt"
|
|
51571
52339
|
},
|
|
@@ -51671,6 +52439,34 @@ var catalog_default = {
|
|
|
51671
52439
|
},
|
|
51672
52440
|
unsupportedParameters: [],
|
|
51673
52441
|
status: "candidate",
|
|
52442
|
+
promptCacheKey: {
|
|
52443
|
+
value: true,
|
|
52444
|
+
source: "official-doc",
|
|
52445
|
+
confidence: "declared",
|
|
52446
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52447
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52448
|
+
},
|
|
52449
|
+
clientToolSearch: {
|
|
52450
|
+
value: true,
|
|
52451
|
+
source: "official-doc",
|
|
52452
|
+
confidence: "declared",
|
|
52453
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52454
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
52455
|
+
},
|
|
52456
|
+
additionalToolsItem: {
|
|
52457
|
+
value: true,
|
|
52458
|
+
source: "official-doc",
|
|
52459
|
+
confidence: "declared",
|
|
52460
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52461
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
52462
|
+
},
|
|
52463
|
+
allowedToolsChoice: {
|
|
52464
|
+
value: true,
|
|
52465
|
+
source: "official-doc",
|
|
52466
|
+
confidence: "declared",
|
|
52467
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52468
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
52469
|
+
},
|
|
51674
52470
|
canonicalModelId: "gpt-5.4",
|
|
51675
52471
|
modelFamily: "gpt"
|
|
51676
52472
|
},
|
|
@@ -51783,6 +52579,34 @@ var catalog_default = {
|
|
|
51783
52579
|
},
|
|
51784
52580
|
unsupportedParameters: [],
|
|
51785
52581
|
status: "candidate",
|
|
52582
|
+
promptCacheKey: {
|
|
52583
|
+
value: true,
|
|
52584
|
+
source: "official-doc",
|
|
52585
|
+
confidence: "declared",
|
|
52586
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52587
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52588
|
+
},
|
|
52589
|
+
clientToolSearch: {
|
|
52590
|
+
value: true,
|
|
52591
|
+
source: "official-doc",
|
|
52592
|
+
confidence: "declared",
|
|
52593
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52594
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
52595
|
+
},
|
|
52596
|
+
additionalToolsItem: {
|
|
52597
|
+
value: true,
|
|
52598
|
+
source: "official-doc",
|
|
52599
|
+
confidence: "declared",
|
|
52600
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52601
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
52602
|
+
},
|
|
52603
|
+
allowedToolsChoice: {
|
|
52604
|
+
value: true,
|
|
52605
|
+
source: "official-doc",
|
|
52606
|
+
confidence: "declared",
|
|
52607
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52608
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
52609
|
+
},
|
|
51786
52610
|
canonicalModelId: "gpt-5.4-mini",
|
|
51787
52611
|
modelFamily: "gpt"
|
|
51788
52612
|
},
|
|
@@ -51895,6 +52719,34 @@ var catalog_default = {
|
|
|
51895
52719
|
},
|
|
51896
52720
|
unsupportedParameters: [],
|
|
51897
52721
|
status: "candidate",
|
|
52722
|
+
promptCacheKey: {
|
|
52723
|
+
value: true,
|
|
52724
|
+
source: "official-doc",
|
|
52725
|
+
confidence: "declared",
|
|
52726
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52727
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52728
|
+
},
|
|
52729
|
+
clientToolSearch: {
|
|
52730
|
+
value: true,
|
|
52731
|
+
source: "official-doc",
|
|
52732
|
+
confidence: "declared",
|
|
52733
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52734
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
52735
|
+
},
|
|
52736
|
+
additionalToolsItem: {
|
|
52737
|
+
value: true,
|
|
52738
|
+
source: "official-doc",
|
|
52739
|
+
confidence: "declared",
|
|
52740
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52741
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
52742
|
+
},
|
|
52743
|
+
allowedToolsChoice: {
|
|
52744
|
+
value: true,
|
|
52745
|
+
source: "official-doc",
|
|
52746
|
+
confidence: "declared",
|
|
52747
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52748
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
52749
|
+
},
|
|
51898
52750
|
canonicalModelId: "gpt-5.4-nano",
|
|
51899
52751
|
modelFamily: "gpt"
|
|
51900
52752
|
},
|
|
@@ -51982,6 +52834,34 @@ var catalog_default = {
|
|
|
51982
52834
|
},
|
|
51983
52835
|
unsupportedParameters: [],
|
|
51984
52836
|
status: "candidate",
|
|
52837
|
+
promptCacheKey: {
|
|
52838
|
+
value: true,
|
|
52839
|
+
source: "official-doc",
|
|
52840
|
+
confidence: "declared",
|
|
52841
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52842
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52843
|
+
},
|
|
52844
|
+
clientToolSearch: {
|
|
52845
|
+
value: true,
|
|
52846
|
+
source: "official-doc",
|
|
52847
|
+
confidence: "declared",
|
|
52848
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52849
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
52850
|
+
},
|
|
52851
|
+
additionalToolsItem: {
|
|
52852
|
+
value: true,
|
|
52853
|
+
source: "official-doc",
|
|
52854
|
+
confidence: "declared",
|
|
52855
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52856
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
52857
|
+
},
|
|
52858
|
+
allowedToolsChoice: {
|
|
52859
|
+
value: true,
|
|
52860
|
+
source: "official-doc",
|
|
52861
|
+
confidence: "declared",
|
|
52862
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52863
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
52864
|
+
},
|
|
51985
52865
|
canonicalModelId: "gpt-5.4-pro",
|
|
51986
52866
|
modelFamily: "gpt"
|
|
51987
52867
|
},
|
|
@@ -52087,6 +52967,34 @@ var catalog_default = {
|
|
|
52087
52967
|
},
|
|
52088
52968
|
unsupportedParameters: [],
|
|
52089
52969
|
status: "candidate",
|
|
52970
|
+
promptCacheKey: {
|
|
52971
|
+
value: true,
|
|
52972
|
+
source: "official-doc",
|
|
52973
|
+
confidence: "declared",
|
|
52974
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
52975
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
52976
|
+
},
|
|
52977
|
+
clientToolSearch: {
|
|
52978
|
+
value: true,
|
|
52979
|
+
source: "official-doc",
|
|
52980
|
+
confidence: "declared",
|
|
52981
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52982
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
52983
|
+
},
|
|
52984
|
+
additionalToolsItem: {
|
|
52985
|
+
value: true,
|
|
52986
|
+
source: "official-doc",
|
|
52987
|
+
confidence: "declared",
|
|
52988
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52989
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
52990
|
+
},
|
|
52991
|
+
allowedToolsChoice: {
|
|
52992
|
+
value: true,
|
|
52993
|
+
source: "official-doc",
|
|
52994
|
+
confidence: "declared",
|
|
52995
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
52996
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
52997
|
+
},
|
|
52090
52998
|
canonicalModelId: "gpt-5.5",
|
|
52091
52999
|
modelFamily: "gpt"
|
|
52092
53000
|
},
|
|
@@ -52181,6 +53089,34 @@ var catalog_default = {
|
|
|
52181
53089
|
},
|
|
52182
53090
|
unsupportedParameters: [],
|
|
52183
53091
|
status: "candidate",
|
|
53092
|
+
promptCacheKey: {
|
|
53093
|
+
value: true,
|
|
53094
|
+
source: "official-doc",
|
|
53095
|
+
confidence: "declared",
|
|
53096
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
53097
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
53098
|
+
},
|
|
53099
|
+
clientToolSearch: {
|
|
53100
|
+
value: true,
|
|
53101
|
+
source: "official-doc",
|
|
53102
|
+
confidence: "declared",
|
|
53103
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53104
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
53105
|
+
},
|
|
53106
|
+
additionalToolsItem: {
|
|
53107
|
+
value: true,
|
|
53108
|
+
source: "official-doc",
|
|
53109
|
+
confidence: "declared",
|
|
53110
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53111
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
53112
|
+
},
|
|
53113
|
+
allowedToolsChoice: {
|
|
53114
|
+
value: true,
|
|
53115
|
+
source: "official-doc",
|
|
53116
|
+
confidence: "declared",
|
|
53117
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53118
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
53119
|
+
},
|
|
52184
53120
|
canonicalModelId: "gpt-5.5-pro",
|
|
52185
53121
|
modelFamily: "gpt"
|
|
52186
53122
|
},
|
|
@@ -52295,6 +53231,34 @@ var catalog_default = {
|
|
|
52295
53231
|
},
|
|
52296
53232
|
unsupportedParameters: [],
|
|
52297
53233
|
status: "candidate",
|
|
53234
|
+
promptCacheKey: {
|
|
53235
|
+
value: true,
|
|
53236
|
+
source: "official-doc",
|
|
53237
|
+
confidence: "declared",
|
|
53238
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
53239
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
53240
|
+
},
|
|
53241
|
+
clientToolSearch: {
|
|
53242
|
+
value: true,
|
|
53243
|
+
source: "official-doc",
|
|
53244
|
+
confidence: "declared",
|
|
53245
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53246
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
53247
|
+
},
|
|
53248
|
+
additionalToolsItem: {
|
|
53249
|
+
value: true,
|
|
53250
|
+
source: "official-doc",
|
|
53251
|
+
confidence: "declared",
|
|
53252
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53253
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
53254
|
+
},
|
|
53255
|
+
allowedToolsChoice: {
|
|
53256
|
+
value: true,
|
|
53257
|
+
source: "official-doc",
|
|
53258
|
+
confidence: "declared",
|
|
53259
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53260
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
53261
|
+
},
|
|
52298
53262
|
canonicalModelId: "gpt-5.6",
|
|
52299
53263
|
modelFamily: "gpt"
|
|
52300
53264
|
},
|
|
@@ -52409,6 +53373,34 @@ var catalog_default = {
|
|
|
52409
53373
|
},
|
|
52410
53374
|
unsupportedParameters: [],
|
|
52411
53375
|
status: "candidate",
|
|
53376
|
+
promptCacheKey: {
|
|
53377
|
+
value: true,
|
|
53378
|
+
source: "official-doc",
|
|
53379
|
+
confidence: "declared",
|
|
53380
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
53381
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
53382
|
+
},
|
|
53383
|
+
clientToolSearch: {
|
|
53384
|
+
value: true,
|
|
53385
|
+
source: "official-doc",
|
|
53386
|
+
confidence: "declared",
|
|
53387
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53388
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
53389
|
+
},
|
|
53390
|
+
additionalToolsItem: {
|
|
53391
|
+
value: true,
|
|
53392
|
+
source: "official-doc",
|
|
53393
|
+
confidence: "declared",
|
|
53394
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53395
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
53396
|
+
},
|
|
53397
|
+
allowedToolsChoice: {
|
|
53398
|
+
value: true,
|
|
53399
|
+
source: "official-doc",
|
|
53400
|
+
confidence: "declared",
|
|
53401
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53402
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
53403
|
+
},
|
|
52412
53404
|
canonicalModelId: "gpt-5.6-luna",
|
|
52413
53405
|
modelFamily: "gpt"
|
|
52414
53406
|
},
|
|
@@ -52523,6 +53515,34 @@ var catalog_default = {
|
|
|
52523
53515
|
},
|
|
52524
53516
|
unsupportedParameters: [],
|
|
52525
53517
|
status: "candidate",
|
|
53518
|
+
promptCacheKey: {
|
|
53519
|
+
value: true,
|
|
53520
|
+
source: "official-doc",
|
|
53521
|
+
confidence: "declared",
|
|
53522
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
53523
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
53524
|
+
},
|
|
53525
|
+
clientToolSearch: {
|
|
53526
|
+
value: true,
|
|
53527
|
+
source: "official-doc",
|
|
53528
|
+
confidence: "declared",
|
|
53529
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53530
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
53531
|
+
},
|
|
53532
|
+
additionalToolsItem: {
|
|
53533
|
+
value: true,
|
|
53534
|
+
source: "official-doc",
|
|
53535
|
+
confidence: "declared",
|
|
53536
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53537
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
53538
|
+
},
|
|
53539
|
+
allowedToolsChoice: {
|
|
53540
|
+
value: true,
|
|
53541
|
+
source: "official-doc",
|
|
53542
|
+
confidence: "declared",
|
|
53543
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53544
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
53545
|
+
},
|
|
52526
53546
|
canonicalModelId: "gpt-5.6-sol",
|
|
52527
53547
|
modelFamily: "gpt"
|
|
52528
53548
|
},
|
|
@@ -52637,6 +53657,34 @@ var catalog_default = {
|
|
|
52637
53657
|
},
|
|
52638
53658
|
unsupportedParameters: [],
|
|
52639
53659
|
status: "candidate",
|
|
53660
|
+
promptCacheKey: {
|
|
53661
|
+
value: true,
|
|
53662
|
+
source: "official-doc",
|
|
53663
|
+
confidence: "declared",
|
|
53664
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
53665
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
53666
|
+
},
|
|
53667
|
+
clientToolSearch: {
|
|
53668
|
+
value: true,
|
|
53669
|
+
source: "official-doc",
|
|
53670
|
+
confidence: "declared",
|
|
53671
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53672
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
53673
|
+
},
|
|
53674
|
+
additionalToolsItem: {
|
|
53675
|
+
value: true,
|
|
53676
|
+
source: "official-doc",
|
|
53677
|
+
confidence: "declared",
|
|
53678
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53679
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
53680
|
+
},
|
|
53681
|
+
allowedToolsChoice: {
|
|
53682
|
+
value: true,
|
|
53683
|
+
source: "official-doc",
|
|
53684
|
+
confidence: "declared",
|
|
53685
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53686
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
53687
|
+
},
|
|
52640
53688
|
canonicalModelId: "gpt-5.6-terra",
|
|
52641
53689
|
modelFamily: "gpt"
|
|
52642
53690
|
},
|
|
@@ -52771,6 +53819,15 @@ var catalog_default = {
|
|
|
52771
53819
|
sourceRef: 'continuity report §5.1/§5.3 for own-state acceptance — the Responses surface replays its own completed `reasoning.encrypted_content` items to the same model. WS-13 §8.2: "OpenAI-compatible" is never the capability test, so this key shares NO domain with any other row.',
|
|
52772
53820
|
confidence: "declared",
|
|
52773
53821
|
observedAt: "2026-09-06T00:00:00Z"
|
|
53822
|
+
},
|
|
53823
|
+
perMessageEffort: {
|
|
53824
|
+
value: {
|
|
53825
|
+
item: "configuration_update"
|
|
53826
|
+
},
|
|
53827
|
+
source: "official-doc",
|
|
53828
|
+
confidence: "declared",
|
|
53829
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53830
|
+
sourceRef: `https://developers.openai.com/api/docs/guides/reasoning — "Configuration updates are supported by the GPT-6 model family in standard, single-agent mode. They change only reasoning effort." Shape {"type":"configuration_update","reasoning":{"effort":…}}, placed "before the next user message in the input array"; "the API rejects adjacent updates"; "The response's reasoning.effort continues to report the request-level setting"; with store:false, replay updates "in their original positions". Retrieved 2026-09-26. NOT set on codex-oauth/gpt-6-* (codex-rs enables it only behind an off-by-default feature, backend acceptance unprobed — scripts/probe-openai-midconv.ts decides) nor on azure-openai (undocumented there).`
|
|
52774
53831
|
}
|
|
52775
53832
|
},
|
|
52776
53833
|
pricing: {
|
|
@@ -52787,6 +53844,34 @@ var catalog_default = {
|
|
|
52787
53844
|
},
|
|
52788
53845
|
unsupportedParameters: [],
|
|
52789
53846
|
status: "candidate",
|
|
53847
|
+
promptCacheKey: {
|
|
53848
|
+
value: true,
|
|
53849
|
+
source: "official-doc",
|
|
53850
|
+
confidence: "declared",
|
|
53851
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
53852
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
53853
|
+
},
|
|
53854
|
+
clientToolSearch: {
|
|
53855
|
+
value: true,
|
|
53856
|
+
source: "official-doc",
|
|
53857
|
+
confidence: "declared",
|
|
53858
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53859
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
53860
|
+
},
|
|
53861
|
+
additionalToolsItem: {
|
|
53862
|
+
value: true,
|
|
53863
|
+
source: "official-doc",
|
|
53864
|
+
confidence: "declared",
|
|
53865
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53866
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
53867
|
+
},
|
|
53868
|
+
allowedToolsChoice: {
|
|
53869
|
+
value: true,
|
|
53870
|
+
source: "official-doc",
|
|
53871
|
+
confidence: "declared",
|
|
53872
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
53873
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
53874
|
+
},
|
|
52790
53875
|
canonicalModelId: "gpt-6-astra",
|
|
52791
53876
|
modelFamily: "gpt"
|
|
52792
53877
|
},
|
|
@@ -52922,6 +54007,15 @@ var catalog_default = {
|
|
|
52922
54007
|
sourceRef: 'continuity report §5.1/§5.3 for own-state acceptance — the Responses surface replays its own completed `reasoning.encrypted_content` items to the same model. WS-13 §8.2: "OpenAI-compatible" is never the capability test, so this key shares NO domain with any other row.',
|
|
52923
54008
|
confidence: "declared",
|
|
52924
54009
|
observedAt: "2026-09-06T00:00:00Z"
|
|
54010
|
+
},
|
|
54011
|
+
perMessageEffort: {
|
|
54012
|
+
value: {
|
|
54013
|
+
item: "configuration_update"
|
|
54014
|
+
},
|
|
54015
|
+
source: "official-doc",
|
|
54016
|
+
confidence: "declared",
|
|
54017
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
54018
|
+
sourceRef: `https://developers.openai.com/api/docs/guides/reasoning — "Configuration updates are supported by the GPT-6 model family in standard, single-agent mode. They change only reasoning effort." Shape {"type":"configuration_update","reasoning":{"effort":…}}, placed "before the next user message in the input array"; "the API rejects adjacent updates"; "The response's reasoning.effort continues to report the request-level setting"; with store:false, replay updates "in their original positions". Retrieved 2026-09-26. NOT set on codex-oauth/gpt-6-* (codex-rs enables it only behind an off-by-default feature, backend acceptance unprobed — scripts/probe-openai-midconv.ts decides) nor on azure-openai (undocumented there).`
|
|
52925
54019
|
}
|
|
52926
54020
|
},
|
|
52927
54021
|
pricing: {
|
|
@@ -52938,6 +54032,34 @@ var catalog_default = {
|
|
|
52938
54032
|
},
|
|
52939
54033
|
unsupportedParameters: [],
|
|
52940
54034
|
status: "candidate",
|
|
54035
|
+
promptCacheKey: {
|
|
54036
|
+
value: true,
|
|
54037
|
+
source: "official-doc",
|
|
54038
|
+
confidence: "declared",
|
|
54039
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
54040
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
54041
|
+
},
|
|
54042
|
+
clientToolSearch: {
|
|
54043
|
+
value: true,
|
|
54044
|
+
source: "official-doc",
|
|
54045
|
+
confidence: "declared",
|
|
54046
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
54047
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
54048
|
+
},
|
|
54049
|
+
additionalToolsItem: {
|
|
54050
|
+
value: true,
|
|
54051
|
+
source: "official-doc",
|
|
54052
|
+
confidence: "declared",
|
|
54053
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
54054
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
54055
|
+
},
|
|
54056
|
+
allowedToolsChoice: {
|
|
54057
|
+
value: true,
|
|
54058
|
+
source: "official-doc",
|
|
54059
|
+
confidence: "declared",
|
|
54060
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
54061
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
54062
|
+
},
|
|
52941
54063
|
canonicalModelId: "gpt-6-luna",
|
|
52942
54064
|
modelFamily: "gpt"
|
|
52943
54065
|
},
|
|
@@ -53073,6 +54195,15 @@ var catalog_default = {
|
|
|
53073
54195
|
sourceRef: 'continuity report §5.1/§5.3 for own-state acceptance — the Responses surface replays its own completed `reasoning.encrypted_content` items to the same model. WS-13 §8.2: "OpenAI-compatible" is never the capability test, so this key shares NO domain with any other row.',
|
|
53074
54196
|
confidence: "declared",
|
|
53075
54197
|
observedAt: "2026-09-06T00:00:00Z"
|
|
54198
|
+
},
|
|
54199
|
+
perMessageEffort: {
|
|
54200
|
+
value: {
|
|
54201
|
+
item: "configuration_update"
|
|
54202
|
+
},
|
|
54203
|
+
source: "official-doc",
|
|
54204
|
+
confidence: "declared",
|
|
54205
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
54206
|
+
sourceRef: `https://developers.openai.com/api/docs/guides/reasoning — "Configuration updates are supported by the GPT-6 model family in standard, single-agent mode. They change only reasoning effort." Shape {"type":"configuration_update","reasoning":{"effort":…}}, placed "before the next user message in the input array"; "the API rejects adjacent updates"; "The response's reasoning.effort continues to report the request-level setting"; with store:false, replay updates "in their original positions". Retrieved 2026-09-26. NOT set on codex-oauth/gpt-6-* (codex-rs enables it only behind an off-by-default feature, backend acceptance unprobed — scripts/probe-openai-midconv.ts decides) nor on azure-openai (undocumented there).`
|
|
53076
54207
|
}
|
|
53077
54208
|
},
|
|
53078
54209
|
pricing: {
|
|
@@ -53089,6 +54220,34 @@ var catalog_default = {
|
|
|
53089
54220
|
},
|
|
53090
54221
|
unsupportedParameters: [],
|
|
53091
54222
|
status: "candidate",
|
|
54223
|
+
promptCacheKey: {
|
|
54224
|
+
value: true,
|
|
54225
|
+
source: "official-doc",
|
|
54226
|
+
confidence: "declared",
|
|
54227
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
54228
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
54229
|
+
},
|
|
54230
|
+
clientToolSearch: {
|
|
54231
|
+
value: true,
|
|
54232
|
+
source: "official-doc",
|
|
54233
|
+
confidence: "declared",
|
|
54234
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
54235
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — "Only gpt-5.4 and later models support tool_search" in the Responses API; client execution: {"type":"tool_search","execution":"client",description,parameters}, tool_search_call -> tool_search_output {call_id, execution:"client", status, tools}, deferred functions keep defer_loading:true, optionally inside {"type":"namespace",name,description,tools}. Retrieved 2026-09-26.'
|
|
54236
|
+
},
|
|
54237
|
+
additionalToolsItem: {
|
|
54238
|
+
value: true,
|
|
54239
|
+
source: "official-doc",
|
|
54240
|
+
confidence: "declared",
|
|
54241
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
54242
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/tools-tool-search — {"type":"additional_tools","role":"developer","tools":[...]}: "Tools in an additional_tools item become available only after that item appears in the input"; its position is kept on replay. The page names no model list, so it is set only on the rows the same page documents tool_search for (GPT-5.4 and later). NOT on codex-oauth: codex-rs sends one only at input[0] (core/src/client.rs:910-941), never mid-conversation -- the live probe decides. Retrieved 2026-09-26.'
|
|
54243
|
+
},
|
|
54244
|
+
allowedToolsChoice: {
|
|
54245
|
+
value: true,
|
|
54246
|
+
source: "official-doc",
|
|
54247
|
+
confidence: "declared",
|
|
54248
|
+
observedAt: "2026-09-26T00:00:00Z",
|
|
54249
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/function-calling — tool_choice {"type":"allowed_tools","mode":"auto"|"required","tools":[{"type":"function","name":…}]}: "make only a subset of tools available across model requests, but not modify the list of tools you pass in, so you can maximize savings from prompt caching"; "When you use tool search, tool_choice still applies to the tools that are currently callable in the turn." No model list on the page; set on the same GPT-5.4+ rows. NOT on codex-oauth: codex-rs always sends tool_choice "auto" (core/src/client.rs:1004) and its allowed_tools is a client-side filter (ext/extension-api/src/tool_policy.rs:14-36) -- the live probe decides. Retrieved 2026-09-26.'
|
|
54250
|
+
},
|
|
53092
54251
|
canonicalModelId: "gpt-6-sol",
|
|
53093
54252
|
modelFamily: "gpt"
|
|
53094
54253
|
},
|
|
@@ -53191,6 +54350,13 @@ var catalog_default = {
|
|
|
53191
54350
|
},
|
|
53192
54351
|
unsupportedParameters: [],
|
|
53193
54352
|
status: "candidate",
|
|
54353
|
+
promptCacheKey: {
|
|
54354
|
+
value: true,
|
|
54355
|
+
source: "official-doc",
|
|
54356
|
+
confidence: "declared",
|
|
54357
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
54358
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
54359
|
+
},
|
|
53194
54360
|
canonicalModelId: "o3",
|
|
53195
54361
|
modelFamily: "o-series"
|
|
53196
54362
|
},
|
|
@@ -53285,6 +54451,13 @@ var catalog_default = {
|
|
|
53285
54451
|
},
|
|
53286
54452
|
unsupportedParameters: [],
|
|
53287
54453
|
status: "candidate",
|
|
54454
|
+
promptCacheKey: {
|
|
54455
|
+
value: true,
|
|
54456
|
+
source: "official-doc",
|
|
54457
|
+
confidence: "declared",
|
|
54458
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
54459
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
54460
|
+
},
|
|
53288
54461
|
canonicalModelId: "o3-mini",
|
|
53289
54462
|
modelFamily: "o-series"
|
|
53290
54463
|
},
|
|
@@ -53432,6 +54605,13 @@ var catalog_default = {
|
|
|
53432
54605
|
},
|
|
53433
54606
|
unsupportedParameters: [],
|
|
53434
54607
|
status: "candidate",
|
|
54608
|
+
promptCacheKey: {
|
|
54609
|
+
value: true,
|
|
54610
|
+
source: "official-doc",
|
|
54611
|
+
confidence: "declared",
|
|
54612
|
+
observedAt: "2026-09-25T19:30:00Z",
|
|
54613
|
+
sourceRef: 'https://developers.openai.com/api/docs/guides/prompt-caching — the Responses API takes prompt_cache_key: "Use a stable prompt_cache_key to optimize cache routing for requests that share a reusable prefix" (pre-GPT-5.6); on GPT-5.6+ routing is automatic and the key is "optional for separate cache accounting".'
|
|
54614
|
+
},
|
|
53435
54615
|
canonicalModelId: "o4-mini",
|
|
53436
54616
|
modelFamily: "o-series"
|
|
53437
54617
|
},
|
|
@@ -73702,7 +74882,8 @@ var catalog_default = {
|
|
|
73702
74882
|
"grok-4.20-non-reasoning-gv2"
|
|
73703
74883
|
],
|
|
73704
74884
|
endpoints: [
|
|
73705
|
-
"chat"
|
|
74885
|
+
"chat",
|
|
74886
|
+
"responses"
|
|
73706
74887
|
],
|
|
73707
74888
|
contextWindow: {
|
|
73708
74889
|
value: 1e6,
|
|
@@ -73797,7 +74978,8 @@ var catalog_default = {
|
|
|
73797
74978
|
"grok-4.20-reasoning-gv2"
|
|
73798
74979
|
],
|
|
73799
74980
|
endpoints: [
|
|
73800
|
-
"chat"
|
|
74981
|
+
"chat",
|
|
74982
|
+
"responses"
|
|
73801
74983
|
],
|
|
73802
74984
|
contextWindow: {
|
|
73803
74985
|
value: 1e6,
|
|
@@ -73862,7 +75044,7 @@ var catalog_default = {
|
|
|
73862
75044
|
observedAt: "2026-09-25T08:40:00Z"
|
|
73863
75045
|
},
|
|
73864
75046
|
efforts: [],
|
|
73865
|
-
continuation: "
|
|
75047
|
+
continuation: "opaque-provider-state"
|
|
73866
75048
|
},
|
|
73867
75049
|
pricing: {
|
|
73868
75050
|
value: {
|
|
@@ -73880,6 +75062,111 @@ var catalog_default = {
|
|
|
73880
75062
|
canonicalModelId: "grok-4.20-0309-reasoning",
|
|
73881
75063
|
modelFamily: "grok"
|
|
73882
75064
|
},
|
|
75065
|
+
{
|
|
75066
|
+
key: "xai/grok-4.20-multi-agent-0309",
|
|
75067
|
+
providerId: "xai",
|
|
75068
|
+
upstreamId: "grok-4.20-multi-agent-0309",
|
|
75069
|
+
displayName: "Grok 4.20 Multi-Agent Beta",
|
|
75070
|
+
aliases: [
|
|
75071
|
+
"grok-4.20-multi-agent",
|
|
75072
|
+
"grok-4.20-multi-agent-latest",
|
|
75073
|
+
"grok-4.20-multi-agent-beta-latest",
|
|
75074
|
+
"grok-4.20-multi-agent-experimental-beta-0304",
|
|
75075
|
+
"grok-4.20-multi-agent-experimental-beta-latest",
|
|
75076
|
+
"grok-4.20-multi-agent-beta-0309"
|
|
75077
|
+
],
|
|
75078
|
+
endpoints: [
|
|
75079
|
+
"responses"
|
|
75080
|
+
],
|
|
75081
|
+
contextWindow: {
|
|
75082
|
+
value: 1e6,
|
|
75083
|
+
source: "official-doc",
|
|
75084
|
+
sourceRef: "https://docs.x.ai/developers/models/grok-4.20-multi-agent-0309 — model page context window 1,000,000 tokens",
|
|
75085
|
+
confidence: "declared",
|
|
75086
|
+
observedAt: "2026-09-25T08:40:00Z"
|
|
75087
|
+
},
|
|
75088
|
+
inputModalities: {
|
|
75089
|
+
value: [
|
|
75090
|
+
"text",
|
|
75091
|
+
"image"
|
|
75092
|
+
],
|
|
75093
|
+
source: "official-doc",
|
|
75094
|
+
sourceRef: "https://docs.x.ai/developers/models/grok-4.20-multi-agent-0309 — model page Modalities: Text, Image input",
|
|
75095
|
+
confidence: "declared",
|
|
75096
|
+
observedAt: "2026-09-25T08:40:00Z"
|
|
75097
|
+
},
|
|
75098
|
+
outputModalities: {
|
|
75099
|
+
value: [
|
|
75100
|
+
"text"
|
|
75101
|
+
],
|
|
75102
|
+
source: "official-doc",
|
|
75103
|
+
sourceRef: "https://docs.x.ai/developers/models/grok-4.20-multi-agent-0309 — model page Modalities: Text output",
|
|
75104
|
+
confidence: "declared",
|
|
75105
|
+
observedAt: "2026-09-25T08:40:00Z"
|
|
75106
|
+
},
|
|
75107
|
+
toolCalling: {
|
|
75108
|
+
value: "none",
|
|
75109
|
+
source: "official-doc",
|
|
75110
|
+
sourceRef: "https://docs.x.ai/developers/model-capabilities/text/multi-agent — multi-agent limitations: client-side/custom function calling unsupported; built-in server tools only",
|
|
75111
|
+
confidence: "declared",
|
|
75112
|
+
observedAt: "2026-09-25T08:40:00Z"
|
|
75113
|
+
},
|
|
75114
|
+
nativeTools: {
|
|
75115
|
+
value: false,
|
|
75116
|
+
source: "official-doc",
|
|
75117
|
+
sourceRef: "https://docs.x.ai/developers/model-capabilities/text/multi-agent — client-side/custom function tools unsupported",
|
|
75118
|
+
confidence: "declared",
|
|
75119
|
+
observedAt: "2026-09-25T08:40:00Z"
|
|
75120
|
+
},
|
|
75121
|
+
structuredOutput: {
|
|
75122
|
+
value: true,
|
|
75123
|
+
source: "official-doc",
|
|
75124
|
+
sourceRef: "https://docs.x.ai/developers/models/grok-4.20-multi-agent-0309 — model page Structured outputs capability",
|
|
75125
|
+
confidence: "declared",
|
|
75126
|
+
observedAt: "2026-09-25T08:40:00Z"
|
|
75127
|
+
},
|
|
75128
|
+
promptCaching: {
|
|
75129
|
+
value: true,
|
|
75130
|
+
source: "official-doc",
|
|
75131
|
+
sourceRef: "https://docs.x.ai/developers/models/grok-4.20-multi-agent-0309 — model page lists Cached tokens input rate; prompt caching available",
|
|
75132
|
+
confidence: "declared",
|
|
75133
|
+
observedAt: "2026-09-25T08:40:00Z"
|
|
75134
|
+
},
|
|
75135
|
+
reasoning: {
|
|
75136
|
+
supported: {
|
|
75137
|
+
value: true,
|
|
75138
|
+
source: "official-doc",
|
|
75139
|
+
sourceRef: "https://docs.x.ai/developers/model-capabilities/text/multi-agent — reasoning.effort low/medium selects 4 agents, high/xhigh selects 16; previous_response_id supports multi-turn",
|
|
75140
|
+
confidence: "declared",
|
|
75141
|
+
observedAt: "2026-09-25T08:40:00Z"
|
|
75142
|
+
},
|
|
75143
|
+
efforts: [
|
|
75144
|
+
"low",
|
|
75145
|
+
"medium",
|
|
75146
|
+
"high",
|
|
75147
|
+
"xhigh"
|
|
75148
|
+
],
|
|
75149
|
+
continuation: "opaque-provider-state"
|
|
75150
|
+
},
|
|
75151
|
+
pricing: {
|
|
75152
|
+
value: {
|
|
75153
|
+
inputPerMTokUsd: 1.25,
|
|
75154
|
+
outputPerMTokUsd: 2.5,
|
|
75155
|
+
cacheReadPerMTokUsd: 0.2
|
|
75156
|
+
},
|
|
75157
|
+
source: "official-doc",
|
|
75158
|
+
sourceRef: "https://docs.x.ai/developers/pricing — grok-4.20-multi-agent-0309 Standard global short-context rate (<200k prompt tokens): $1.25 input, $0.20 cached input, $2.50 output per 1M; >=200k the entire request is charged $2.50/$0.40/$5.00. US-regional 1.1x applies only to models currently on that endpoint, listed as grok-4.7 and grok-4.6; not this model (re-read 2026-09-25, WS-23).",
|
|
75159
|
+
confidence: "declared",
|
|
75160
|
+
observedAt: "2026-09-25T17:09:48Z"
|
|
75161
|
+
},
|
|
75162
|
+
unsupportedParameters: [
|
|
75163
|
+
"max_output_tokens",
|
|
75164
|
+
"tools"
|
|
75165
|
+
],
|
|
75166
|
+
status: "candidate",
|
|
75167
|
+
canonicalModelId: "grok-4.20-multi-agent-0309",
|
|
75168
|
+
modelFamily: "grok"
|
|
75169
|
+
},
|
|
73883
75170
|
{
|
|
73884
75171
|
key: "xai/grok-4.3",
|
|
73885
75172
|
providerId: "xai",
|
|
@@ -73889,7 +75176,8 @@ var catalog_default = {
|
|
|
73889
75176
|
"grok-4.3-latest"
|
|
73890
75177
|
],
|
|
73891
75178
|
endpoints: [
|
|
73892
|
-
"chat"
|
|
75179
|
+
"chat",
|
|
75180
|
+
"responses"
|
|
73893
75181
|
],
|
|
73894
75182
|
contextWindow: {
|
|
73895
75183
|
value: 1e6,
|
|
@@ -73960,7 +75248,7 @@ var catalog_default = {
|
|
|
73960
75248
|
"high",
|
|
73961
75249
|
"xhigh"
|
|
73962
75250
|
],
|
|
73963
|
-
continuation: "
|
|
75251
|
+
continuation: "opaque-provider-state",
|
|
73964
75252
|
defaultEffort: "low"
|
|
73965
75253
|
},
|
|
73966
75254
|
pricing: {
|
|
@@ -73989,7 +75277,8 @@ var catalog_default = {
|
|
|
73989
75277
|
"grok-build-latest"
|
|
73990
75278
|
],
|
|
73991
75279
|
endpoints: [
|
|
73992
|
-
"chat"
|
|
75280
|
+
"chat",
|
|
75281
|
+
"responses"
|
|
73993
75282
|
],
|
|
73994
75283
|
contextWindow: {
|
|
73995
75284
|
value: 500000,
|
|
@@ -74058,7 +75347,7 @@ var catalog_default = {
|
|
|
74058
75347
|
"medium",
|
|
74059
75348
|
"high"
|
|
74060
75349
|
],
|
|
74061
|
-
continuation: "
|
|
75350
|
+
continuation: "opaque-provider-state",
|
|
74062
75351
|
defaultEffort: "high"
|
|
74063
75352
|
},
|
|
74064
75353
|
pricing: {
|
|
@@ -74088,7 +75377,8 @@ var catalog_default = {
|
|
|
74088
75377
|
displayName: "Grok 4.6",
|
|
74089
75378
|
aliases: [],
|
|
74090
75379
|
endpoints: [
|
|
74091
|
-
"chat"
|
|
75380
|
+
"chat",
|
|
75381
|
+
"responses"
|
|
74092
75382
|
],
|
|
74093
75383
|
contextWindow: {
|
|
74094
75384
|
value: 500000,
|
|
@@ -74158,7 +75448,7 @@ var catalog_default = {
|
|
|
74158
75448
|
"high",
|
|
74159
75449
|
"xhigh"
|
|
74160
75450
|
],
|
|
74161
|
-
continuation: "
|
|
75451
|
+
continuation: "opaque-provider-state",
|
|
74162
75452
|
defaultEffort: "high"
|
|
74163
75453
|
},
|
|
74164
75454
|
pricing: {
|
|
@@ -74188,7 +75478,8 @@ var catalog_default = {
|
|
|
74188
75478
|
displayName: "Grok 4.7",
|
|
74189
75479
|
aliases: [],
|
|
74190
75480
|
endpoints: [
|
|
74191
|
-
"chat"
|
|
75481
|
+
"chat",
|
|
75482
|
+
"responses"
|
|
74192
75483
|
],
|
|
74193
75484
|
contextWindow: {
|
|
74194
75485
|
value: 500000,
|
|
@@ -74258,8 +75549,29 @@ var catalog_default = {
|
|
|
74258
75549
|
"high",
|
|
74259
75550
|
"xhigh"
|
|
74260
75551
|
],
|
|
74261
|
-
continuation: "
|
|
74262
|
-
defaultEffort: "high"
|
|
75552
|
+
continuation: "opaque-provider-state",
|
|
75553
|
+
defaultEffort: "high",
|
|
75554
|
+
readableState: {
|
|
75555
|
+
value: "summary",
|
|
75556
|
+
source: "official-doc",
|
|
75557
|
+
sourceRef: 'https://docs.x.ai/developers/model-capabilities/text/reasoning — "For `grok-4.7`, we expose summarizations of the model\'s internal reasoning" (Summarized Reasoning Content); https://docs.x.ai/developers/rest-api-reference/inference/responses — the example reasoning output item carries `summary: [{ type: "summary_text", … }]`',
|
|
75558
|
+
confidence: "declared",
|
|
75559
|
+
observedAt: "2026-09-25T17:09:48Z"
|
|
75560
|
+
},
|
|
75561
|
+
summaryRequest: {
|
|
75562
|
+
value: {
|
|
75563
|
+
field: "reasoning.summary",
|
|
75564
|
+
values: [
|
|
75565
|
+
"detailed",
|
|
75566
|
+
"auto",
|
|
75567
|
+
"concise"
|
|
75568
|
+
]
|
|
75569
|
+
},
|
|
75570
|
+
source: "official-doc",
|
|
75571
|
+
sourceRef: 'https://docs.x.ai/developers/rest-api-reference/inference/responses — `reasoning.summary`: "Possible values are `auto`, `concise` and `detailed`. Only included for compatibility. The model shall always return `detailed`." `detailed` is listed FIRST because the adapter sends the first value, and it is the one the model returns regardless',
|
|
75572
|
+
confidence: "declared",
|
|
75573
|
+
observedAt: "2026-09-25T17:09:48Z"
|
|
75574
|
+
}
|
|
74263
75575
|
},
|
|
74264
75576
|
pricing: {
|
|
74265
75577
|
value: {
|
|
@@ -74292,7 +75604,8 @@ var catalog_default = {
|
|
|
74292
75604
|
"grok-code-fast-1-0825"
|
|
74293
75605
|
],
|
|
74294
75606
|
endpoints: [
|
|
74295
|
-
"chat"
|
|
75607
|
+
"chat",
|
|
75608
|
+
"responses"
|
|
74296
75609
|
],
|
|
74297
75610
|
contextWindow: {
|
|
74298
75611
|
value: 256000,
|
|
@@ -74357,7 +75670,7 @@ var catalog_default = {
|
|
|
74357
75670
|
observedAt: "2026-09-25T08:40:00Z"
|
|
74358
75671
|
},
|
|
74359
75672
|
efforts: [],
|
|
74360
|
-
continuation: "
|
|
75673
|
+
continuation: "opaque-provider-state"
|
|
74361
75674
|
},
|
|
74362
75675
|
pricing: {
|
|
74363
75676
|
value: {
|