Thinking encryption
Full thinking content is encrypted and returned in the signature field on each thinking block. The API uses the signature to verify that thinking blocks were generated by Claude when you pass them back.
Keep the following in mind when working with signatures:
- It is only strictly necessary to send back thinking blocks when using tools with thinking. Otherwise you can omit thinking blocks from previous turns. If you do pass them back, whether the API keeps or strips them depends on the model (see Thinking block preservation by model). Use context editing to configure this.
- When sending back thinking blocks, pass everything back exactly as you received it, for consistency and to avoid potential issues.
- When streaming responses, the signature arrives as a
signature_deltainside acontent_block_deltaevent just before thecontent_block_stopevent. signaturevalues are significantly longer in Claude 4 and later models than in previous models.- The
signaturefield is opaque: don't interpret or parse it. signaturevalues are compatible across platforms (the Claude API, Amazon Bedrock, and Google Cloud). Values generated on one platform work on another.