[KongchangAI]
· 2 min read· 1,007 words

Anthropic SDK v1.12.0 Update: Introducing Claude Haiku 5.5 and Expanded API Capabilities

Anthropic SDK v1.12.0 Update: Introducing Claude Haiku 5.5 and Expanded API Capabilities

Anthropic SDK v1.12.0 adds claude-haiku-5-5, typed tool use, and RBAC improvements.

Anthropic SDK v1.12.0 is a pragmatic feature and quality update. Key highlights include support for the lightweight claude-haiku-5-5 model, typed computer and browser tool calls, and new model capability metadata flags for web search, code execution, and lifecycle stage filtering. On the enterprise side, RBAC roles gain a display_name field while name is deprecated, the 256-tool Agent limit is formally documented, and several client bugs — including empty string handling and in-memory upload response loss — have been fixed. Developers building Agent applications and enterprise users should both review deprecated fields before upgrading.

Release Overview

Anthropic has officially released SDK v1.12.0, an iterative feature update built on top of v1.11.0. This release focuses on three areas: API capability expansion, client behavior fixes, and documentation improvements. The most notable highlights are support for the new claude-haiku-5-5 model and enhancements to tool use, model capability metadata, and more.

rss source: v1.12.0

For engineers building on Claude models, these changes have direct implications for model selection, toolchain integration, and permission management in real-world development. Let's break down what's new across the key dimensions.

New Model Support and Typed Tool Use

The most significant functional addition in this release is an expanded API surface. The SDK now supports the claude-haiku-5-5 model and introduces typed tool definitions for computer (computer operations) and browser (browser operations) tool calls. This allows developers building Agent applications to invoke computer and browser capabilities in a more structured, type-safe manner.

On the model capabilities front, several refinements have been made:

  • A disabled field has been added to the thinking type, enabling finer control over chain-of-thought behavior
  • Support flags for web search and code execution have been added to model capabilities
  • A lifecycle stage field and filtering support have been added to the /v1/models endpoint
  • A line field has been added to model objects, with corresponding documentation updates

These changes allow developers to query and filter available models with greater precision. The lifecycle filtering feature in particular helps production environments avoid deprecated or experimental models.

claude-haiku-5-5 belongs to the Anthropic Claude 3.5 Haiku family — a lightweight model optimized for speed and cost efficiency, ideal for latency-sensitive or price-conscious use cases such as real-time conversations, high-volume document processing, or fast reasoning nodes within Agent workflows. Compared to the Claude Sonnet and Claude Opus families, Haiku trades some reasoning depth for higher throughput and lower per-token pricing.

Typed tool use means the SDK provides explicit type definitions (TypeScript interfaces or Python classes) for computer and browser tools at the code level, rather than relying on generic dictionaries or unstructured objects. The benefits include IDE autocomplete and type checking, reduced runtime errors from typos or mismatched parameter structures, and significantly improved developer productivity and code maintainability when building complex Agent systems.

Managed Agents and Enhanced Permission Management

For enterprise use cases, v1.12.0 introduces several improvements to Managed Agents and the permissions system. A url_sources parameter has been added to the web_fetch tool configuration for managed Agents, giving developers more flexibility in specifying the scope of web fetch sources.

rss source: v1.12.0

On the RBAC (Role-Based Access Control) side, a display_name field has been added to roles while the existing name field has been deprecated. This is a classic backward-compatible API evolution — introducing a dedicated display name field makes role management more user-friendly at the UI level while preserving migration flexibility. Additionally, the list workspaces endpoint now supports an include_default parameter.

The documentation also formally clarifies an important constraint: the maximum number of tools per Agent is 256. This is a critical boundary for teams designing complex Agent systems.

RBAC (Role-Based Access Control) is the dominant pattern for managing permissions in enterprise software. Rather than assigning permissions directly to individual users, the system defines roles (e.g., admin, developer, read-only user) and assigns those roles to users. When permission rules change, only the role definition needs to be updated — no need to adjust individual user settings.

Deprecating name in favor of display_name is a common API evolution strategy. The original name field often served dual purposes — acting as both a unique identifier and a display label. As systems grow in complexity, these two concerns need to be decoupled: the identifier stays stable for programmatic reference, while the display name can be freely updated for readability. Developers should prioritize migrating any logic that relies on the name field to use the new field, to avoid compatibility issues when name is fully removed in a future version.

Bug Fixes and Client Behavior Improvements

This release addresses several issues that affected the developer experience:

  • Client: Empty strings are now correctly sent in query parameters and multipart forms, resolving previously inconsistent null/empty value handling
  • Spend limits: Beta headers are now sent by default when listing spend limits
  • Tool layer: Fixed an issue where local edits were unintentionally overwritten when a response was lost after an in-memory upload (#990)

The fix for empty string handling in the client may seem like a minor detail, but it has a real impact on API call accuracy — in many API contexts, an empty string and a missing field carry entirely different semantics. This fix brings SDK behavior more in line with expectations.

Internal Improvements and Documentation Updates

Beyond functional changes, v1.12.0 includes numerous engineering quality improvements. The client now tracks whether a timeout was explicitly set by the user, enabling smarter timeout handling logic. Deprecated models have been internally refactored, and a new REVIEW.md document has been added.

On the testing side, the team re-enabled several test cases that had previously been skipped due to query parameter bugs or mock server limitations, including raw response and streaming response tests for batch results. This kind of invisible work is often what underpins SDK stability.

Documentation updates cover multiple areas including rate limit list examples, federated rule descriptions, example IDs for sessions and Agents, and corrections to activity summary endpoint descriptions.

What This Means for Developers

Overall, v1.12.0 is not a sweeping major release — it's a pragmatic round of feature additions and quality improvements. For developers currently using the Claude SDK, a few things are worth prioritizing: if you need a lighter, faster model, evaluate claude-haiku-5-5; if you're building automated Agents, typed computer/browser tool calls and the url_sources configuration for web_fetch will improve your development experience; enterprise users should take note of the deprecation of the name field in RBAC roles and plan the migration to display_name proactively.

Before upgrading, it's recommended to review the full changelog (v1.11.0...v1.12.0) and assess compatibility, particularly around deprecated fields and models.

#Anthropic SDK v1.12.0#claude-haiku-5-5#typed tool use#RBAC#model capabilities#Agent tools#Claude API update
Share:

Related articles