Skip to content
Changelog

Claude defaults to Sonnet 5.5

October 21, 20261 min read

Agno's Claude() now builds requests for claude-sonnet-5-5 when you leave out id. Earlier releases defaulted to claude-sonnet-4-5-20250929, which Anthropic deprecated and retires on 30 November 2026, and every Claude() without an id would have failed from that day.

Sonnet 5.5 answers any request carrying temperature, top_p or top_k with a 400, so Agno now strips them on Sonnet 5.5, Opus 4.7 and any Claude ID it doesn't recognise, and logs a warning.

On those same models, Harsh Sinha's companion fix sends thinking={"type": "enabled", "budget_tokens": 1024} as {'type': 'adaptive', 'display': 'summarized'}, with a warning that points you to output_config={'effort': ...}.

See the cookbook, and learn more about Claude models in the documentation.

Frequently asked questions

It uses claude-sonnet-5-5. Earlier releases used claude-sonnet-4-5-20250929, which Anthropic has deprecated and retires on 30 November 2026.

Claude models from Opus 4.7 onwards answer a request carrying temperature, top_p or top_k with a 400. Agno removes the parameter from the outgoing request and logs the warning, so steer the model through its prompt. For Claude(id="claude-sonnet-5-5", temperature=0.2).get_request_params(), earlier releases returned {'max_tokens': 8192, 'extra_body': {'temperature': 0.2}}. This release logs claude-sonnet-5-5 rejects temperature, so the request is sent without temperature. Guide the model through its prompt instead. and returns {'max_tokens': 8192}.

Claude 3, Sonnet and Opus 4.0 to 4.6, Haiku 4.0 to 4.5, and the claude-sonnet-4, claude-opus-4 and claude-haiku-4 aliases. Any other Claude ID, including one Agno does not recognise, has them removed. Non-Claude IDs pass through untouched, Claude(id="claude-sonnet-4-6", temperature=0.2) still sends the temperature, and the Anthropic, Bedrock, Foundry and Vertex providers read the same list from their own ID formats.

Agno sends {"type": "adaptive", "display": "summarized"} in its place and logs a warning. Use output_config={"effort": ...} to set how hard the model thinks.

Shipped around the same time