For models version 3.5 and above, if you need output longer than 4096 tokens, be sure to explicitly specify the "max_tokens" parameter, referring to the Max Output column in the table above.
For Sonnet 3.7, you can increase the max output from 64K to 128K by passing extra_headers={"anthropic-beta": "output-128k-2025-02-19"}. See the “Streaming 128K” example below.
With extended thinking enabled, the Messages API for Claude 4 models returns a summary of Claude’s full thinking process. Summarized thinking provides the full intelligence benefits of extended thinking, while preventing misuse.While the API is consistent across Claude 3.7 and 4 models, streaming responses for extended thinking might return in a “chunky” delivery pattern, with possible delays between streaming events.Summarization is processed by a different model than the one you target in your requests. The thinking model does not see the summarized output.
Claude 4 models support interleaving tool use with extended thinking, allowing for more natural conversations where tool uses and responses can be mixed with regular messages.Interleaved thinking is in beta. To enable interleaved thinking, add the beta header interleaved-thinking-2025-05-14 to your API request:
{ "id": "msg_013Uf6CwwyjSe35n3yVaPbLM", "type": "message", "role": "assistant", "model": "claude-3-5-sonnet-20241022", "content": [ { "type": "text", "text": "That's one of humanity's most enduring and complex philosophical questions! While there's no universal answer, I aim to explore such questions thoughtfully while acknowledging their complexity. I try to focus on having meaningful conversations and helping where I can. What does meaning in life mean to you?" } ], "stop_reason": "end_turn", "stop_sequence": null, "usage": { "input_tokens": 14, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "output_tokens": 61 }}
Update your application to handle the new refusal stop reason:
Copy
if response.stop_reason == "refusal": print("Claude refused to generate this content")elif response.stop_reason == "end_turn": print("Completed normally")
Claude can use Anthropic’s text editor tool to view and modify text files, helping you debug, fix, and improve code or other text documents. This enables Claude to interact directly with your files, providing practical assistance rather than just suggestions.
Provide the text editor tool to Claude through the Messages API:
You need to install the anthropic package:
Copy
pip install anthropic
Usage Example:
Copy
import anthropicclient = anthropic.Anthropic( api_key="AIHUBMIX_API_KEY", # Replace with the key you generated in AiHubMix base_url="https://aihubmix.com")response = client.messages.create( model="claude-sonnet-4-20250514", # or claude-opus-4-20250514 max_tokens=1024, tools=[ { "type": "text_editor_20250429", "name": "str_replace_based_edit_tool" } ], messages=[ { "role": "user", "content": "There's a syntax error in my primes.py file. Can you help me fix it?" } ])print("Response content:")for message in response.content: print(message.text)
undo_edit command: Claude 4 models no longer support the undo edit functionality
Please remove any logic that depends on undo_edit from your code
Response Example:
Copy
{ "id": "msg_bdrk_012xyNaFCQg4zsVcTk5VkDAe", "type": "message", "role": "assistant", "content": [ { "type": "text", "text": "I'd be happy to help you fix the syntax error in your `primes.py` file. First, let me take a look at the file to identify the issue." }, { "type": "tool_use", "text": "", "id": "toolu_bdrk_01P6jQG6suDSsDjzugqGVHWC", "name": "str_replace_based_edit_tool", "input": { "command": "view", "path": "/repo/primes.py" } } ], "model": "claude-sonnet-4-20250514", "stop_reason": "tool_use", "usage": { "input_tokens": 1042, "output_tokens": 115 }}