The whole hunk
from line 23, old and new numbered
/
lines
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.
from line 23
2323
2424 - `string`
2525
26 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
26 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
2727
2828 - `"message-batches-2024-09-24"`
2929
from line 114
114114 - `"thinking-binding-controls-2026-08-01"`
115115
116116 - `"mid-conversation-system-clear-at-2026-08-21"`
117
118 - `"compact-2026-09-04"`
117119
118120- `"anthropic-user-profile-id": optional string`
119121
from line 1306
13041306 - `encrypted_content: optional string or null`
13051307
13061308 Opaque metadata from prior compaction, to be round-tripped verbatim
1309
1310 - `signature: optional string or null`
1311
1312 The block's signature as returned, to be sent back verbatim
13071313
13081314 - `BetaRequestToolAdditionBlock object`
13091315
from line 1550
15441550 - `cache_control: optional BetaCacheControlEphemeral or null`
15451551
15461552 Top-level cache control automatically applies a cache_control marker to the last cacheable block in the request.
1553
1554 - `compaction: optional BetaCompactionConfig or null`
1555
1556 Compact the whole conversation and return a signed `compaction` block,
1557 alone, that a later request sends back first in `messages`, in place of
1558 the messages it summarizes. There is no trigger and no pause flag: sending
1559 the parameter compacts, and nothing is sampled after the block.
1560
1561 The summarization prompt is the server's own unless `instructions` are
1562 given, which then replace it for this request; a value that is empty or
1563 only whitespace counts as absent.
1564
1565 - `type: "summarize"`
1566
1567 - `instructions: optional string or null`
1568
1569 Replaces the server's default summarization prompt for this request. An empty or whitespace-only value counts as absent.
1570
1571 maxLength: 16384
15471572
15481573 - `container: optional BetaContainerParams or string or null`
15491574
from line 3488
34633488
34643489 When true, guarantees schema validation on tool names and inputs
34653490
3491 - `url_sources: optional BetaWebFetchURLSources or null`
3492
3493 Which sources contribute to the set of URLs web fetch may fetch.
3494
3495 Each key is a tagged variant: `user_input` is `all` or `none`; the
3496 two tool filters are `all`, `none`, `only` (only the named tools'
3497 results) or `except` (every result but the named tools'). A named tool
3498 must be declared in this request's `tools[]`.
3499
3500 - `client_tool_results: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone or BetaWebFetchURLSourceOnly or BetaWebFetchURLSourceExcept`
3501
3502 Which client tools' results contribute fetchable URLs: "all", "none", or an only or except list of client tool names from tools[].
3503
3504 - `BetaWebFetchURLSourceAll object`
3505
3506 The `url_sources` variant under which a source contributes in
3507 full: every result of the tool filter's source, or all user input.
3508
3509 - `type: "all"`
3510
3511 - `BetaWebFetchURLSourceNone object`
3512
3513 The `url_sources` variant under which a source contributes nothing:
3514 no result of the tool filter's source, or no user input.
3515
3516 - `type: "none"`
3517
3518 - `BetaWebFetchURLSourceOnly object`
3519
3520 The tool filter variant under which only the named tools' results
3521 contribute.
3522
3523 - `type: "only"`
3524
3525 - `tools: array of BetaWebFetchURLSourceToolReference`
3526
3527 - `type: "tool_reference"`
3528
3529 - `name: string`
3530
3531 - `BetaWebFetchURLSourceExcept object`
3532
3533 The tool filter variant under which every result but the named
3534 tools' contributes.
3535
3536 - `type: "except"`
3537
3538 - `tools: array of BetaWebFetchURLSourceToolReference`
3539
3540 - `type: "tool_reference"`
3541
3542 - `name: string`
3543
3544 - `server_tool_results: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone or BetaWebFetchURLSourceOnly or BetaWebFetchURLSourceExcept`
3545
3546 Which server tools' results contribute fetchable URLs: "all", "none", or an only or except list of server tool names from tools[]; only web_search and web_fetch results ever contribute.
3547
3548 - `BetaWebFetchURLSourceAll object`
3549
3550 The `url_sources` variant under which a source contributes in
3551 full: every result of the tool filter's source, or all user input.
3552
3553 - `BetaWebFetchURLSourceNone object`
3554
3555 The `url_sources` variant under which a source contributes nothing:
3556 no result of the tool filter's source, or no user input.
3557
3558 - `BetaWebFetchURLSourceOnly object`
3559
3560 The tool filter variant under which only the named tools' results
3561 contribute.
3562
3563 - `BetaWebFetchURLSourceExcept object`
3564
3565 The tool filter variant under which every result but the named
3566 tools' contributes.
3567
3568 - `user_input: optional BetaWebFetchURLSourceAll or BetaWebFetchURLSourceNone`
3569
3570 Whether URLs in user messages are fetchable: "all" or "none".
3571
3572 - `BetaWebFetchURLSourceAll object`
3573
3574 The `url_sources` variant under which a source contributes in
3575 full: every result of the tool filter's source, or all user input.
3576
3577 - `BetaWebFetchURLSourceNone object`
3578
3579 The `url_sources` variant under which a source contributes nothing:
3580 no result of the tool filter's source, or no user input.
3581
34663582 - `BetaWebSearchTool20260209 object`
34673583
34683584 - `type: "web_search_20260209"`
from line 3685
35693685
35703686 When true, guarantees schema validation on tool names and inputs
35713687
3688 - `url_sources: optional BetaWebFetchURLSources or null`
3689
3690 Which sources contribute to the set of URLs web fetch may fetch.
3691
3692 Each key is a tagged variant: `user_input` is `all` or `none`; the
3693 two tool filters are `all`, `none`, `only` (only the named tools'
3694 results) or `except` (every result but the named tools'). A named tool
3695 must be declared in this request's `tools[]`.
3696
35723697 - `BetaWebFetchTool20260309 object`
35733698
35743699 Web fetch tool with use_cache parameter for bypassing cached content.
from line 3752
36273752
36283753 When true, guarantees schema validation on tool names and inputs
36293754
3755 - `url_sources: optional BetaWebFetchURLSources or null`
3756
3757 Which sources contribute to the set of URLs web fetch may fetch.
3758
3759 Each key is a tagged variant: `user_input` is `all` or `none`; the
3760 two tool filters are `all`, `none`, `only` (only the named tools'
3761 results) or `except` (every result but the named tools'). A named tool
3762 must be declared in this request's `tools[]`.
3763
36303764 - `use_cache: optional boolean`
36313765
36323766 Whether to use cached content. Set to false to bypass the cache and fetch fresh content. Only set to false when the user explicitly requests fresh content or when fetching rapidly-changing sources.
from line 3886
37523886 - `strict: optional boolean`
37533887
37543888 When true, guarantees schema validation on tool names and inputs
3889
3890 - `url_sources: optional BetaWebFetchURLSources or null`
3891
3892 Which sources contribute to the set of URLs web fetch may fetch.
3893
3894 Each key is a tagged variant: `user_input` is `all` or `none`; the
3895 two tool filters are `all`, `none`, `only` (only the named tools'
3896 results) or `except` (every result but the named tools'). A named tool
3897 must be declared in this request's `tools[]`.
37553898
37563899 - `use_cache: optional boolean`
37573900
from line 4287
41444287
41454288 - `string`
41464289
4147 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
4290 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
41484291
41494292 - `"message-batches-2024-09-24"`
41504293
from line 4378
42354378 - `"thinking-binding-controls-2026-08-01"`
42364379
42374380 - `"mid-conversation-system-clear-at-2026-08-21"`
4381
4382 - `"compact-2026-09-04"`
42384383
42394384- `"anthropic-workspace-id": optional string`
42404385
from line 4559
44144559
44154560 - `string`
44164561
4417 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
4562 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
44184563
44194564 - `"message-batches-2024-09-24"`
44204565
from line 4650
45054650 - `"thinking-binding-controls-2026-08-01"`
45064651
45074652 - `"mid-conversation-system-clear-at-2026-08-21"`
4653
4654 - `"compact-2026-09-04"`
45084655
45094656- `"anthropic-workspace-id": optional string`
45104657
from line 4840
46934840
46944841 - `string`
46954842
4696 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
4843 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
46974844
46984845 - `"message-batches-2024-09-24"`
46994846
from line 4931
47844931 - `"thinking-binding-controls-2026-08-01"`
47854932
47864933 - `"mid-conversation-system-clear-at-2026-08-21"`
4934
4935 - `"compact-2026-09-04"`
47874936
47884937- `"anthropic-workspace-id": optional string`
47894938
from line 5103
49545103
49555104 - `string`
49565105
4957 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
5106 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
49585107
49595108 - `"message-batches-2024-09-24"`
49605109
from line 5194
50455194 - `"thinking-binding-controls-2026-08-01"`
50465195
50475196 - `"mid-conversation-system-clear-at-2026-08-21"`
5197
5198 - `"compact-2026-09-04"`
50485199
50495200- `"anthropic-workspace-id": optional string`
50505201
from line 5258
51075258
51085259 - `string`
51095260
5110 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more`
5261 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`
51115262
51125263 - `"message-batches-2024-09-24"`
51135264
from line 5349
51985349 - `"thinking-binding-controls-2026-08-01"`
51995350
52005351 - `"mid-conversation-system-clear-at-2026-08-21"`
5352
5353 - `"compact-2026-09-04"`
52015354
52025355- `"anthropic-workspace-id": optional string`
52035356
from line 6276
61236276 - `encrypted_content: string or null`
61246277
61256278 Opaque metadata from prior compaction, to be round-tripped verbatim
6279
6280 - `signature: optional string or null`
6281
6282 Signature over the summary, to be sent back with the block verbatim
61266283
61276284 - `BetaFallbackBlock object`
61286285
from line 7044
68877044
68887045 - `"fast"`
68897046
6890 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
6891
6892 Changes the API made to the request's input before showing it to the model:
6893 one entry per change, in request order. Today the only entry type is
6894 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
6895 block from the request's `messages` that was removed from the prompt instead
6896 of being shown to the model because it failed a binding check. More entry
6897 types may be added over time; ignore types you do not recognize.
7047 - `input_transformations: optional array of BetaInputTransformation or null`
7048
7049 Changes the API made to the request's input before showing it to the model,
7050 and blocks that failed a binding check but were left unchanged: one entry per
7051 block, in request order. Two entry types today. `thinking_dropped` — a
7052 `thinking`, `redacted_thinking` or `connector_text` block from the request's
7053 `messages` that was removed from the prompt instead of being shown to the
7054 model because it failed a binding check. `thinking_mismatch_allowed` — a
7055 `thinking` or `redacted_thinking` block that failed the conversation check
7056 (the conversation before it differs from the one it was created in, or it
7057 carries no record of one on a model that requires it) and was shown to the
7058 model all the same, because that check is not enforced for this request.
7059 More entry types may be added over time; ignore types you do not recognize.
68987060
68997061 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
69007062 every such response from a model that supports extended thinking, as `[]`
6901 when nothing was changed; without the beta, blocks are removed all the same
6902 but nothing is reported. Removed blocks contribute nothing to
6903 `usage.input_tokens`. When streaming, the array is final in `message_start`;
6904 the final `message_delta` event carries it only when a server-side model
6905 fallback happened mid-stream, in which case it holds the serving model's
6906 entries and replaces the one in `message_start`.
6907
6908 - `type: "thinking_dropped"`
6909
6910 Always `thinking_dropped` for this entry type.
6911
6912 default: thinking_dropped
6913
6914 - `path: string`
6915
6916 Where the removed block was in your request, as `messages.{i}.content.{j}`:
6917 `i` indexes the `messages` array you sent and `j` that message's `content`
6918 array — the same form error messages use.
6919
6920 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
6921
6922 Which binding check removed the block: `model_binding_mismatch` — it was
6923 created by a model whose reasoning the requested model may not read;
6924 `prefix_binding_mismatch` — the conversation before it differs from the
6925 conversation it was created in (the rest of that turn's consecutive thinking
6926 blocks are removed with it, each with this reason);
6927 `organization_binding_mismatch` — it was created under a different
6928 organization (an Anthropic organization, AWS account or Google Cloud project)
6929 and this organization is not one of its additional organizations;
6930 `end_user_binding_mismatch` — it was created for a different end user, or
6931 was removed by the consumer-organization binding. A block that would fail
6932 several checks reports one reason, in this order of precedence:
6933 `organization_binding_mismatch`, `end_user_binding_mismatch`,
6934 `model_binding_mismatch`, `prefix_binding_mismatch`.
6935
6936 - `"model_binding_mismatch"`
6937
6938 - `"prefix_binding_mismatch"`
6939
6940 - `"organization_binding_mismatch"`
6941
6942 - `"end_user_binding_mismatch"`
7063 when there is no entry to report; without the beta, blocks are removed or
7064 left in place all the same but nothing is reported. Removed blocks contribute
7065 nothing to `usage.input_tokens`; blocks left in place count as sent. When
7066 streaming, the array is final in `message_start`; the final `message_delta`
7067 event carries it only when a server-side model fallback happened mid-stream,
7068 in which case it holds the serving model's entries and replaces the one in
7069 `message_start`.
7070
7071 - `BetaThinkingDroppedInputTransformation object`
7072
7073 - `type: "thinking_dropped"`
7074
7075 Always `thinking_dropped` for this entry type.
7076
7077 default: thinking_dropped
7078
7079 - `path: string`
7080
7081 Where the removed block was in your request, as `messages.{i}.content.{j}`:
7082 `i` indexes the `messages` array you sent and `j` that message's `content`
7083 array — the same form error messages use.
7084
7085 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
7086
7087 Which binding check removed the block: `model_binding_mismatch` — it was
7088 created by a model whose reasoning the requested model may not read;
7089 `prefix_binding_mismatch` — the conversation before it differs from the
7090 conversation it was created in (the rest of that turn's consecutive thinking
7091 blocks are removed with it, each with this reason);
7092 `organization_binding_mismatch` — it was created under a different
7093 organization (an Anthropic organization, AWS account or Google Cloud project)
7094 and this organization is not one of its additional organizations;
7095 `end_user_binding_mismatch` — it was created for a different end user, or
7096 was removed by the consumer-organization binding. A block that would fail
7097 several checks reports one reason, in this order of precedence:
7098 `organization_binding_mismatch`, `end_user_binding_mismatch`,
7099 `model_binding_mismatch`, `prefix_binding_mismatch`.
7100
7101 - `"model_binding_mismatch"`
7102
7103 - `"prefix_binding_mismatch"`
7104
7105 - `"organization_binding_mismatch"`
7106
7107 - `"end_user_binding_mismatch"`
7108
7109 - `BetaThinkingMismatchAllowedInputTransformation object`
7110
7111 - `type: "thinking_mismatch_allowed"`
7112
7113 Always `thinking_mismatch_allowed` for this entry type.
7114
7115 default: thinking_mismatch_allowed
7116
7117 - `path: string`
7118
7119 Where the block is in your request, as `messages.{i}.content.{j}`:
7120 `i` indexes the `messages` array you sent and `j` that message's `content`
7121 array — the same form error messages use.
7122
7123 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
7124
7125 Which binding check the block failed; the block was shown to the model all
7126 the same. Always `prefix_binding_mismatch` today — the conversation before
7127 the block differs from the conversation it was created in, or the block
7128 carries no record of one on a model that requires it. Were the check
7129 enforced for this request, the block would have been removed or the request
7130 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
7131 takes the rest of that turn's consecutive thinking blocks, whereas here each
7132 block is checked on its own, so `thinking_mismatch_allowed` entries are a
7133 lower bound on what enforcement would remove.
7134
7135 - `"model_binding_mismatch"`
7136
7137 - `"prefix_binding_mismatch"`
7138
7139 - `"organization_binding_mismatch"`
7140
7141 - `"end_user_binding_mismatch"`
69437142
69447143 - `BetaMessageBatchErroredResult object`
69457144
from line 8441
82428441 - `encrypted_content: string or null`
82438442
82448443 Opaque metadata from prior compaction, to be round-tripped verbatim
8444
8445 - `signature: optional string or null`
8446
8447 Signature over the summary, to be sent back with the block verbatim
82458448
82468449 - `BetaFallbackBlock object`
82478450
from line 9209
90069209
90079210 - `"fast"`
90089211
9009 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
9010
9011 Changes the API made to the request's input before showing it to the model:
9012 one entry per change, in request order. Today the only entry type is
9013 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
9014 block from the request's `messages` that was removed from the prompt instead
9015 of being shown to the model because it failed a binding check. More entry
9016 types may be added over time; ignore types you do not recognize.
9212 - `input_transformations: optional array of BetaInputTransformation or null`
9213
9214 Changes the API made to the request's input before showing it to the model,
9215 and blocks that failed a binding check but were left unchanged: one entry per
9216 block, in request order. Two entry types today. `thinking_dropped` — a
9217 `thinking`, `redacted_thinking` or `connector_text` block from the request's
9218 `messages` that was removed from the prompt instead of being shown to the
9219 model because it failed a binding check. `thinking_mismatch_allowed` — a
9220 `thinking` or `redacted_thinking` block that failed the conversation check
9221 (the conversation before it differs from the one it was created in, or it
9222 carries no record of one on a model that requires it) and was shown to the
9223 model all the same, because that check is not enforced for this request.
9224 More entry types may be added over time; ignore types you do not recognize.
90179225
90189226 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
90199227 every such response from a model that supports extended thinking, as `[]`
9020 when nothing was changed; without the beta, blocks are removed all the same
9021 but nothing is reported. Removed blocks contribute nothing to
9022 `usage.input_tokens`. When streaming, the array is final in `message_start`;
9023 the final `message_delta` event carries it only when a server-side model
9024 fallback happened mid-stream, in which case it holds the serving model's
9025 entries and replaces the one in `message_start`.
9026
9027 - `type: "thinking_dropped"`
9028
9029 Always `thinking_dropped` for this entry type.
9030
9031 default: thinking_dropped
9032
9033 - `path: string`
9034
9035 Where the removed block was in your request, as `messages.{i}.content.{j}`:
9036 `i` indexes the `messages` array you sent and `j` that message's `content`
9037 array — the same form error messages use.
9038
9039 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
9040
9041 Which binding check removed the block: `model_binding_mismatch` — it was
9042 created by a model whose reasoning the requested model may not read;
9043 `prefix_binding_mismatch` — the conversation before it differs from the
9044 conversation it was created in (the rest of that turn's consecutive thinking
9045 blocks are removed with it, each with this reason);
9046 `organization_binding_mismatch` — it was created under a different
9047 organization (an Anthropic organization, AWS account or Google Cloud project)
9048 and this organization is not one of its additional organizations;
9049 `end_user_binding_mismatch` — it was created for a different end user, or
9050 was removed by the consumer-organization binding. A block that would fail
9051 several checks reports one reason, in this order of precedence:
9052 `organization_binding_mismatch`, `end_user_binding_mismatch`,
9053 `model_binding_mismatch`, `prefix_binding_mismatch`.
9054
9055 - `"model_binding_mismatch"`
9056
9057 - `"prefix_binding_mismatch"`
9058
9059 - `"organization_binding_mismatch"`
9060
9061 - `"end_user_binding_mismatch"`
9228 when there is no entry to report; without the beta, blocks are removed or
9229 left in place all the same but nothing is reported. Removed blocks contribute
9230 nothing to `usage.input_tokens`; blocks left in place count as sent. When
9231 streaming, the array is final in `message_start`; the final `message_delta`
9232 event carries it only when a server-side model fallback happened mid-stream,
9233 in which case it holds the serving model's entries and replaces the one in
9234 `message_start`.
9235
9236 - `BetaThinkingDroppedInputTransformation object`
9237
9238 - `type: "thinking_dropped"`
9239
9240 Always `thinking_dropped` for this entry type.
9241
9242 default: thinking_dropped
9243
9244 - `path: string`
9245
9246 Where the removed block was in your request, as `messages.{i}.content.{j}`:
9247 `i` indexes the `messages` array you sent and `j` that message's `content`
9248 array — the same form error messages use.
9249
9250 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
9251
9252 Which binding check removed the block: `model_binding_mismatch` — it was
9253 created by a model whose reasoning the requested model may not read;
9254 `prefix_binding_mismatch` — the conversation before it differs from the
9255 conversation it was created in (the rest of that turn's consecutive thinking
9256 blocks are removed with it, each with this reason);
9257 `organization_binding_mismatch` — it was created under a different
9258 organization (an Anthropic organization, AWS account or Google Cloud project)
9259 and this organization is not one of its additional organizations;
9260 `end_user_binding_mismatch` — it was created for a different end user, or
9261 was removed by the consumer-organization binding. A block that would fail
9262 several checks reports one reason, in this order of precedence:
9263 `organization_binding_mismatch`, `end_user_binding_mismatch`,
9264 `model_binding_mismatch`, `prefix_binding_mismatch`.
9265
9266 - `"model_binding_mismatch"`
9267
9268 - `"prefix_binding_mismatch"`
9269
9270 - `"organization_binding_mismatch"`
9271
9272 - `"end_user_binding_mismatch"`
9273
9274 - `BetaThinkingMismatchAllowedInputTransformation object`
9275
9276 - `type: "thinking_mismatch_allowed"`
9277
9278 Always `thinking_mismatch_allowed` for this entry type.
9279
9280 default: thinking_mismatch_allowed
9281
9282 - `path: string`
9283
9284 Where the block is in your request, as `messages.{i}.content.{j}`:
9285 `i` indexes the `messages` array you sent and `j` that message's `content`
9286 array — the same form error messages use.
9287
9288 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
9289
9290 Which binding check the block failed; the block was shown to the model all
9291 the same. Always `prefix_binding_mismatch` today — the conversation before
9292 the block differs from the conversation it was created in, or the block
9293 carries no record of one on a model that requires it. Were the check
9294 enforced for this request, the block would have been removed or the request
9295 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
9296 takes the rest of that turn's consecutive thinking blocks, whereas here each
9297 block is checked on its own, so `thinking_mismatch_allowed` entries are a
9298 lower bound on what enforcement would remove.
9299
9300 - `"model_binding_mismatch"`
9301
9302 - `"prefix_binding_mismatch"`
9303
9304 - `"organization_binding_mismatch"`
9305
9306 - `"end_user_binding_mismatch"`
90629307
90639308 - `BetaMessageBatchErroredResult object`
90649309
from line 10377
1013210377 - `encrypted_content: string or null`
1013310378
1013410379 Opaque metadata from prior compaction, to be round-tripped verbatim
10380
10381 - `signature: optional string or null`
10382
10383 Signature over the summary, to be sent back with the block verbatim
1013510384
1013610385 - `BetaFallbackBlock object`
1013710386
from line 11145
1089611145
1089711146 - `"fast"`
1089811147
10899 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
10900
10901 Changes the API made to the request's input before showing it to the model:
10902 one entry per change, in request order. Today the only entry type is
10903 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
10904 block from the request's `messages` that was removed from the prompt instead
10905 of being shown to the model because it failed a binding check. More entry
10906 types may be added over time; ignore types you do not recognize.
11148 - `input_transformations: optional array of BetaInputTransformation or null`
11149
11150 Changes the API made to the request's input before showing it to the model,
11151 and blocks that failed a binding check but were left unchanged: one entry per
11152 block, in request order. Two entry types today. `thinking_dropped` — a
11153 `thinking`, `redacted_thinking` or `connector_text` block from the request's
11154 `messages` that was removed from the prompt instead of being shown to the
11155 model because it failed a binding check. `thinking_mismatch_allowed` — a
11156 `thinking` or `redacted_thinking` block that failed the conversation check
11157 (the conversation before it differs from the one it was created in, or it
11158 carries no record of one on a model that requires it) and was shown to the
11159 model all the same, because that check is not enforced for this request.
11160 More entry types may be added over time; ignore types you do not recognize.
1090711161
1090811162 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
1090911163 every such response from a model that supports extended thinking, as `[]`
10910 when nothing was changed; without the beta, blocks are removed all the same
10911 but nothing is reported. Removed blocks contribute nothing to
10912 `usage.input_tokens`. When streaming, the array is final in `message_start`;
10913 the final `message_delta` event carries it only when a server-side model
10914 fallback happened mid-stream, in which case it holds the serving model's
10915 entries and replaces the one in `message_start`.
10916
10917 - `type: "thinking_dropped"`
10918
10919 Always `thinking_dropped` for this entry type.
10920
10921 default: thinking_dropped
10922
10923 - `path: string`
10924
10925 Where the removed block was in your request, as `messages.{i}.content.{j}`:
10926 `i` indexes the `messages` array you sent and `j` that message's `content`
10927 array — the same form error messages use.
10928
10929 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
10930
10931 Which binding check removed the block: `model_binding_mismatch` — it was
10932 created by a model whose reasoning the requested model may not read;
10933 `prefix_binding_mismatch` — the conversation before it differs from the
10934 conversation it was created in (the rest of that turn's consecutive thinking
10935 blocks are removed with it, each with this reason);
10936 `organization_binding_mismatch` — it was created under a different
10937 organization (an Anthropic organization, AWS account or Google Cloud project)
10938 and this organization is not one of its additional organizations;
10939 `end_user_binding_mismatch` — it was created for a different end user, or
10940 was removed by the consumer-organization binding. A block that would fail
10941 several checks reports one reason, in this order of precedence:
10942 `organization_binding_mismatch`, `end_user_binding_mismatch`,
10943 `model_binding_mismatch`, `prefix_binding_mismatch`.
10944
10945 - `"model_binding_mismatch"`
10946
10947 - `"prefix_binding_mismatch"`
10948
10949 - `"organization_binding_mismatch"`
10950
10951 - `"end_user_binding_mismatch"`
11164 when there is no entry to report; without the beta, blocks are removed or
11165 left in place all the same but nothing is reported. Removed blocks contribute
11166 nothing to `usage.input_tokens`; blocks left in place count as sent. When
11167 streaming, the array is final in `message_start`; the final `message_delta`
11168 event carries it only when a server-side model fallback happened mid-stream,
11169 in which case it holds the serving model's entries and replaces the one in
11170 `message_start`.
11171
11172 - `BetaThinkingDroppedInputTransformation object`
11173
11174 - `type: "thinking_dropped"`
11175
11176 Always `thinking_dropped` for this entry type.
11177
11178 default: thinking_dropped
11179
11180 - `path: string`
11181
11182 Where the removed block was in your request, as `messages.{i}.content.{j}`:
11183 `i` indexes the `messages` array you sent and `j` that message's `content`
11184 array — the same form error messages use.
11185
11186 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
11187
11188 Which binding check removed the block: `model_binding_mismatch` — it was
11189 created by a model whose reasoning the requested model may not read;
11190 `prefix_binding_mismatch` — the conversation before it differs from the
11191 conversation it was created in (the rest of that turn's consecutive thinking
11192 blocks are removed with it, each with this reason);
11193 `organization_binding_mismatch` — it was created under a different
11194 organization (an Anthropic organization, AWS account or Google Cloud project)
11195 and this organization is not one of its additional organizations;
11196 `end_user_binding_mismatch` — it was created for a different end user, or
11197 was removed by the consumer-organization binding. A block that would fail
11198 several checks reports one reason, in this order of precedence:
11199 `organization_binding_mismatch`, `end_user_binding_mismatch`,
11200 `model_binding_mismatch`, `prefix_binding_mismatch`.
11201
11202 - `"model_binding_mismatch"`
11203
11204 - `"prefix_binding_mismatch"`
11205
11206 - `"organization_binding_mismatch"`
11207
11208 - `"end_user_binding_mismatch"`
11209
11210 - `BetaThinkingMismatchAllowedInputTransformation object`
11211
11212 - `type: "thinking_mismatch_allowed"`
11213
11214 Always `thinking_mismatch_allowed` for this entry type.
11215
11216 default: thinking_mismatch_allowed
11217
11218 - `path: string`
11219
11220 Where the block is in your request, as `messages.{i}.content.{j}`:
11221 `i` indexes the `messages` array you sent and `j` that message's `content`
11222 array — the same form error messages use.
11223
11224 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
11225
11226 Which binding check the block failed; the block was shown to the model all
11227 the same. Always `prefix_binding_mismatch` today — the conversation before
11228 the block differs from the conversation it was created in, or the block
11229 carries no record of one on a model that requires it. Were the check
11230 enforced for this request, the block would have been removed or the request
11231 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
11232 takes the rest of that turn's consecutive thinking blocks, whereas here each
11233 block is checked on its own, so `thinking_mismatch_allowed` entries are a
11234 lower bound on what enforcement would remove.
11235
11236 - `"model_binding_mismatch"`
11237
11238 - `"prefix_binding_mismatch"`
11239
11240 - `"organization_binding_mismatch"`
11241
11242 - `"end_user_binding_mismatch"`
1095211243
1095311244 - `BetaMessageBatchErroredResult object`
1095411245
from line 12265
1197412265 - `encrypted_content: string or null`
1197512266
1197612267 Opaque metadata from prior compaction, to be round-tripped verbatim
12268
12269 - `signature: optional string or null`
12270
12271 Signature over the summary, to be sent back with the block verbatim
1197712272
1197812273 - `BetaFallbackBlock object`
1197912274
from line 13033
1273813033
1273913034 - `"fast"`
1274013035
12741 - `input_transformations: optional array of BetaThinkingDroppedInputTransformation or null`
12742
12743 Changes the API made to the request's input before showing it to the model:
12744 one entry per change, in request order. Today the only entry type is
12745 `thinking_dropped` — a `thinking`, `redacted_thinking` or `connector_text`
12746 block from the request's `messages` that was removed from the prompt instead
12747 of being shown to the model because it failed a binding check. More entry
12748 types may be added over time; ignore types you do not recognize.
13036 - `input_transformations: optional array of BetaInputTransformation or null`
13037
13038 Changes the API made to the request's input before showing it to the model,
13039 and blocks that failed a binding check but were left unchanged: one entry per
13040 block, in request order. Two entry types today. `thinking_dropped` — a
13041 `thinking`, `redacted_thinking` or `connector_text` block from the request's
13042 `messages` that was removed from the prompt instead of being shown to the
13043 model because it failed a binding check. `thinking_mismatch_allowed` — a
13044 `thinking` or `redacted_thinking` block that failed the conversation check
13045 (the conversation before it differs from the one it was created in, or it
13046 carries no record of one on a model that requires it) and was shown to the
13047 model all the same, because that check is not enforced for this request.
13048 More entry types may be added over time; ignore types you do not recognize.
1274913049
1275013050 Requires `anthropic-beta: thinking-binding-controls-2026-08-01`. Present on
1275113051 every such response from a model that supports extended thinking, as `[]`
12752 when nothing was changed; without the beta, blocks are removed all the same
12753 but nothing is reported. Removed blocks contribute nothing to
12754 `usage.input_tokens`. When streaming, the array is final in `message_start`;
12755 the final `message_delta` event carries it only when a server-side model
12756 fallback happened mid-stream, in which case it holds the serving model's
12757 entries and replaces the one in `message_start`.
12758
12759 - `type: "thinking_dropped"`
12760
12761 Always `thinking_dropped` for this entry type.
12762
12763 default: thinking_dropped
12764
12765 - `path: string`
12766
12767 Where the removed block was in your request, as `messages.{i}.content.{j}`:
12768 `i` indexes the `messages` array you sent and `j` that message's `content`
12769 array — the same form error messages use.
12770
12771 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
12772
12773 Which binding check removed the block: `model_binding_mismatch` — it was
12774 created by a model whose reasoning the requested model may not read;
12775 `prefix_binding_mismatch` — the conversation before it differs from the
12776 conversation it was created in (the rest of that turn's consecutive thinking
12777 blocks are removed with it, each with this reason);
12778 `organization_binding_mismatch` — it was created under a different
12779 organization (an Anthropic organization, AWS account or Google Cloud project)
12780 and this organization is not one of its additional organizations;
12781 `end_user_binding_mismatch` — it was created for a different end user, or
12782 was removed by the consumer-organization binding. A block that would fail
12783 several checks reports one reason, in this order of precedence:
12784 `organization_binding_mismatch`, `end_user_binding_mismatch`,
12785 `model_binding_mismatch`, `prefix_binding_mismatch`.
12786
12787 - `"model_binding_mismatch"`
12788
12789 - `"prefix_binding_mismatch"`
12790
12791 - `"organization_binding_mismatch"`
12792
12793 - `"end_user_binding_mismatch"`
13052 when there is no entry to report; without the beta, blocks are removed or
13053 left in place all the same but nothing is reported. Removed blocks contribute
13054 nothing to `usage.input_tokens`; blocks left in place count as sent. When
13055 streaming, the array is final in `message_start`; the final `message_delta`
13056 event carries it only when a server-side model fallback happened mid-stream,
13057 in which case it holds the serving model's entries and replaces the one in
13058 `message_start`.
13059
13060 - `BetaThinkingDroppedInputTransformation object`
13061
13062 - `type: "thinking_dropped"`
13063
13064 Always `thinking_dropped` for this entry type.
13065
13066 default: thinking_dropped
13067
13068 - `path: string`
13069
13070 Where the removed block was in your request, as `messages.{i}.content.{j}`:
13071 `i` indexes the `messages` array you sent and `j` that message's `content`
13072 array — the same form error messages use.
13073
13074 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
13075
13076 Which binding check removed the block: `model_binding_mismatch` — it was
13077 created by a model whose reasoning the requested model may not read;
13078 `prefix_binding_mismatch` — the conversation before it differs from the
13079 conversation it was created in (the rest of that turn's consecutive thinking
13080 blocks are removed with it, each with this reason);
13081 `organization_binding_mismatch` — it was created under a different
13082 organization (an Anthropic organization, AWS account or Google Cloud project)
13083 and this organization is not one of its additional organizations;
13084 `end_user_binding_mismatch` — it was created for a different end user, or
13085 was removed by the consumer-organization binding. A block that would fail
13086 several checks reports one reason, in this order of precedence:
13087 `organization_binding_mismatch`, `end_user_binding_mismatch`,
13088 `model_binding_mismatch`, `prefix_binding_mismatch`.
13089
13090 - `"model_binding_mismatch"`
13091
13092 - `"prefix_binding_mismatch"`
13093
13094 - `"organization_binding_mismatch"`
13095
13096 - `"end_user_binding_mismatch"`
13097
13098 - `BetaThinkingMismatchAllowedInputTransformation object`
13099
13100 - `type: "thinking_mismatch_allowed"`
13101
13102 Always `thinking_mismatch_allowed` for this entry type.
13103
13104 default: thinking_mismatch_allowed
13105
13106 - `path: string`
13107
13108 Where the block is in your request, as `messages.{i}.content.{j}`:
13109 `i` indexes the `messages` array you sent and `j` that message's `content`
13110 array — the same form error messages use.
13111
13112 - `reason: "model_binding_mismatch" or "prefix_binding_mismatch" or "organization_binding_mismatch" or "end_user_binding_mismatch"`
13113
13114 Which binding check the block failed; the block was shown to the model all
13115 the same. Always `prefix_binding_mismatch` today — the conversation before
13116 the block differs from the conversation it was created in, or the block
13117 carries no record of one on a model that requires it. Were the check
13118 enforced for this request, the block would have been removed or the request
13119 rejected (`thinking.block_binding.prefix_mismatch_behavior`). A removal also
13120 takes the rest of that turn's consecutive thinking blocks, whereas here each
13121 block is checked on its own, so `thinking_mismatch_allowed` entries are a
13122 lower bound on what enforcement would remove.
13123
13124 - `"model_binding_mismatch"`
13125
13126 - `"prefix_binding_mismatch"`
13127
13128 - `"organization_binding_mismatch"`
13129
13130 - `"end_user_binding_mismatch"`
1279413131