does not support tool types: computer_20251124
The error
A computer-use request that declares the computer_20251124 tool returns a 400 on Opus 5.5 and
Sonnet 5.5 when sent through the Claude API or Google Cloud. The message names the rejected type and
then lists the ones the model will take:
'claude-opus-5-5' does not support tool types: computer_20251124. Did you mean one of ...
On Amazon Bedrock both models still accept computer_20251124, with its beta header, so the same code
can pass on one platform and fail on another. The older computer_20250124 version is rejected by
Sonnet 5.5 everywhere.
The replacement is a toolset, not a renamed tool
On the Claude API and Google Cloud these models take computer use only as the
computer_toolset_20260801 toolset. It is generally available, so the beta header and the beta client
namespace go. The entry is just {"type": "computer_toolset_20260801"} — no name, and no display
width or height — with an optional configs map to switch individual member tools off. It can't share
a request with a computer_20251124 entry or another tool named computer.
The agent loop changes too
This is the part a find-and-replace misses. Calls arrive as tool_use blocks whose name is the
member tool — screenshot, left_click, type, zoom — so the action is the block's name, not a
field inside its input. A turn can contain several of them. Return one tool_result per call, all in
the next user message, and echo "toolset_name": "computer" on every result; a result without it is
rejected. Only screenshot and zoom results need an image, coordinates stay in the pixel space of your
full screenshots, and screenshots must already fit the model's image limits, because the toolset takes
no display size and nothing downscales for you.
A safe order to make the change
Opus 5 accepts both forms, so move the loop to the toolset on Opus 5 first, confirm it works, then
switch the model id. Where you stream with fine-grained tool streaming, replace the old beta header with
the per-tool eager_input_streaming field — on Sonnet 5.5 the header is documented as a 400 alongside
a computer toolset, and the field is the current mechanism everywhere. And
don't prune old screenshots from the history to save tokens: removing an earlier turn invalidates later
thinking blocks on these models. Use server-side tool-result clearing instead.
Related
See migrating: Opus 5 to Opus 5.5 and thinking block bound to a different conversation.
Verified 2026-09-30 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.