Anthropic shipped anthropic-sdk-python v1.12.0 on October 7, and the top line of the changelog is a model most people have not heard of: claude-haiku-5-5. It arrives in the same release as typed computer and browser toolset tool calls, a disabled flag on thinking types in model capabilities, and web search plus code execution support declared at the capability layer. None of that is a launch event. All of it is a tell about how Anthropic expects developers to wire agents together over the next two quarters.

The version bump is minor, 1.11.0 to 1.12.0, and there is no blog post, no keynote, no pricing page update attached. The release landed at 17:57 UTC from the stainless-app account, the bot that publishes SDKs generated by Stainless from Anthropic’s OpenAPI spec. That detail matters more than it looks. Anthropic’s SDKs are largely machine-generated from the API schema, which means the changelog is close to a raw diff of the API surface itself. When the SDK adds a model ID and a toolset type, the API gained them first.

Haiku 5.5 exists now

The commit f6346e6 adds claude-haiku-5-5 alongside the typed tool calls. Anthropic has not published a model card, context window, or pricing for it in this release. What the SDK tells us is narrower and still useful: the model is addressable from the Python client, and it is grouped in the same commit as computer-use and browser tooling.

That grouping is the story. Haiku has historically been the cheap, fast tier, the one you reach for when Sonnet or Opus is overkill. Pairing a new Haiku with typed computer and browser toolsets suggests Anthropic wants the low-cost tier to be the default driver for agent loops that click, type, scroll, and fetch. A computer-use agent that runs on Opus pricing is a demo. One that runs on Haiku pricing is a product.

Typed tools are the real change

“Typed computer and browser toolset tool calls” is dense, but it describes a concrete shift. Earlier computer-use integrations handed the model screenshots and coordinate actions as loosely structured payloads. Typed tool calls mean the client library now exposes those actions as named, schema-checked types. For a Python developer, that is the difference between parsing a dictionary and getting autocomplete on a ToolUseBlock with a known shape.

Typed toolsets are how you get agents that survive contact with production. If a browser action is a typed call, you can validate it, log it, retry it, and refuse it. If it is a blob, you write defensive code forever. Anthropic is moving the guardrails from the developer’s application into the SDK, which is the same play every serious agent platform is running right now.

The release also adds url_sources to the Managed Agents web_fetch tool config, and declares web search and code execution as model capabilities. Read together: the SDK is starting to describe what a model can do, not just how to call it. web_fetch with explicit URL sources is a constrained fetch, the kind you want when an agent should read a specific page rather than roam.

The boring fixes are the load-bearing ones

Two bug fixes deserve more attention than they will get. The first: tools: keep a local edit made after a memory upload whose response was lost (#990). That is a distributed-systems bug in an agent memory system. An agent uploads memory, the response is lost in transit, the client retries, and the local edit vanishes. Anyone who has run a stateful agent against a flaky network has hit a version of this. The fix is small. The fact that it needed fixing tells you Anthropic’s Managed Agents product is being used in ways that expose exactly these failure modes.

The second: client: send empty strings in query params and multipart forms. The old behavior dropped empty strings, which quietly changed request semantics. A filter set to an empty string is not the same as a filter that is absent, and conflating them produces bugs that are miserable to trace. The changelog notes that tests previously skipped for this query param bug now run, along with tests an older mock server could not serve. That is a testing infrastructure catching up to a client that had been lying to it.

What the management surface says

The rest of the release is account and model administration. display_name is added to RBAC roles and name is deprecated. include_default is added to list workspaces. /v1/models gains lifecycle stage fields and a filter, and model objects gain a line field. The docs now state the agent tools limit as 256.

Lifecycle stages on the models endpoint are the quiet signal worth watching. A lifecycle stage field plus a filter means developers can programmatically ask which models are current, which are deprecated, and which are on the way out, instead of hardcoding a list that rots. The line field is less obvious; the docs commit only says it updates the description of the Model line field, which does not resolve what a “line” is. Treat that as unresolved until Anthropic documents it.

The RBAC rename is the kind of change that breaks someone’s deploy. Deprecating name in favor of display_name on roles is correct long-term, since a display name and a machine identifier should not be the same string, but every team that reads role.name from the API now has a migration to schedule.

What this means for builders

Anthropic is not shipping a headline model here. It is shipping the connective tissue that turns a model into an agent platform: typed actions, capability declarations, lifecycle metadata, and RBAC that a real enterprise can administer. The claude-haiku-5-5 addition, buried in a commit alongside computer and browser toolsets, is the piece to watch. If Haiku-tier pricing can drive typed computer-use loops, the economics of running agents at scale change, and the SDK is already shaped for it.

The open question is what claude-haiku-5-5 actually costs and how large its context window is. The release notes do not say, and Anthropic has not published a model card in this window. Until that lands, developers can call the model ID and guess.