Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · api

thinking-tool-workflows changedbuild-with-claude/thinking-tool-workflows

Nearest release: v2.1.307, published an hour 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 265 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits11to this page, all time

The whole hunk

from line 265, old and new numbered
/
lines
from line 265
265265 }
266266 
267267 message = client.messages.create(
268 model: "claude-opus-5-5",
268 model: Anthropic::Model::CLAUDE_OPUS_5_5,
269269 max_tokens: 16000,
270270 thinking: {
271271 type: "adaptive"
from line 281
281281 </Step>
282282 
283283 <Step title="Capture the content array to echo back">
284 You should see `thinking` and `tool_use` blocks in the response content on a run where Claude chose to think (on simpler requests, adaptive mode may skip the thinking block). A note Claude writes before the tool call comes back as a `text` block or, on models that write [progress updates](https://platform.claude.com/docs/en/build-with-claude/thinking#progress-updates), as another `thinking` block. Keep this content array intact: the next step sends it back verbatim.
284 You should see `thinking` and `tool_use` blocks in the response content on a run that includes thinking (on simpler requests, adaptive mode may skip the thinking block). A note Claude writes before the tool call comes back as a `text` block or, on models that write [progress updates](https://platform.claude.com/docs/en/build-with-claude/thinking#progress-updates), as another `thinking` block. Keep this content array intact: the next step sends it back verbatim.
285285 
286286 <Note>
287287 To see thinking text like this output, add `display: "summarized"` to the request. On models where display defaults to omitted, including Claude Opus 5.5, the `thinking` field otherwise comes back as an empty string with only the `signature` populated. Either way, echo the content array back unchanged; see [Controlling thinking display](https://platform.claude.com/docs/en/build-with-claude/thinking#controlling-thinking-display).
from line 344
344344 # Extract the tool use block to get its ID for the tool result
345345 tool_use_block = next(block for block in response.content if block.type == "tool_use")
346346 
347 # Call your actual weather API, here is where your actual API call would go
348 # Let's pretend this is what we get back
347 # This is where your actual weather API call would go
348 # Pretend this is what the weather API returns
349349 weather_data = {"temperature": 88}
350350 
351351 # Second request - Include the assistant turn and the tool result
from line 402
402402 // Extract the tool use block to get its ID for the tool result
403403 const toolUseBlock = response.content.find((block) => block.type === "tool_use");
404404 
405 // Call your actual weather API, here is where your actual API call would go
406 // Let's pretend this is what we get back
405 // This is where your actual weather API call would go
406 // Pretend this is what the weather API returns
407407 const weatherData = { temperature: 88 };
408408 
409409 if (toolUseBlock) {
from line 705
705705 }
706706 
707707 response = client.messages.create(
708 model: "claude-opus-5-5",
708 model: Anthropic::Model::CLAUDE_OPUS_5_5,
709709 max_tokens: 16000,
710710 thinking: {
711711 type: "adaptive"
from line 723
723723 weather_data = { temperature: 88 }
724724 
725725 continuation = client.messages.create(
726 model: "claude-opus-5-5",
726 model: Anthropic::Model::CLAUDE_OPUS_5_5,
727727 max_tokens: 16000,
728728 thinking: {
729729 type: "adaptive"
Feedback