API usage primer for Claude changedclaude_api_primer
Nearest release: v2.1.308, published 2 hours after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+8added
Lines−8removed
From line
44
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits19to this page, all time
The whole hunk
from line 44, old and new numbered
/
from line 44
4444 ```
4545</CodeGroup>
4646
47```json Output
47```text Output wrap
4848{
4949 "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
5050 "type": "message",
from line 532
532532* What each parameter means and how it affects the tool's behavior
533533* Any important caveats or limitations
534534
535**Consider using `input_examples` for complex tools.** For tools with nested objects, optional parameters, or format-sensitive inputs, you can provide concrete examples using the `input_examples` field (beta). This helps Claude understand expected input patterns. See [Providing tool use examples](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools#providing-tool-use-examples) for details.
535**Consider using `input_examples` for complex tools.** For tools with nested objects, optional parameters, or format-sensitive inputs, you can provide concrete examples using the `input_examples` field (beta). This shows Claude the expected input patterns. See [Providing tool use examples](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools#providing-tool-use-examples) for details.
536536
537537Example of a good tool description:
538538
from line 590
590590* `name`: The name of the tool being used
591591* `input`: An object containing the input being passed to the tool
592592
593```json
593```text wrap
594594{
595595 "role": "assistant",
596596 "content": [
from line 629
629629
630630### Handling the `pause_turn` stop reason
631631
632When using server tools such as web search, the API might return a `pause_turn` stop reason. Continue the conversation by passing the paused response back as-is in a subsequent request.
632When you use server tools such as web search, the API might return a `pause_turn` stop reason. Continue the conversation by passing the paused response back as-is in a subsequent request.
633633
634634## Troubleshooting errors
635635
from line 699
699699
700700#### Text delta
701701
702```json
702```text wrap
703703{
704704 "type": "content_block_delta",
705705 "index": 0,
from line 711
711711
712712For `tool_use` content blocks, deltas are *partial JSON strings*:
713713
714```json
714```text
715715{"type": "content_block_delta","index": 1,"delta": {"type": "input_json_delta","partial_json": "{\"location\": \"San Fra"}}}
716716```
717717
from line 719
719719
720720When using thinking with streaming:
721721
722```json
722```text wrap
723723{
724724 "type": "content_block_delta",
725725 "index": 0,
from line 732
732732
733733### Basic streaming request example
734734
735```sse
735```text
736736event: message_start
737737data: {"type": "message_start", "message": {"id": "msg_1nZdL29xx5MUA1yADyHTEsnR8uuvGzszyY", "type": "message", "role": "assistant", "content": [], "model": "claude-opus-5-5", "stop_reason": null, "stop_sequence": null, "usage": {"input_tokens": 25, "output_tokens": 1}}}
738738
No line in this hunk matches that.