Source: raw/anthropic-watch-anthropic-sdk-python-tag-v0-{98-0,98-1,99-0,100-0}.md + raw/anthropic-watch-anthropic-sdk-typescript-tag-sdk-v0-{93-0,94-0,95-0,95-1}.md (Stainless-generated GitHub releases, week of 2026-05-04)

The Python and TypeScript SDKs shipped a coordinated set of releases over four days (May 4–7) that landed three significant features: improved Managed Agents APIs (multi-agent, outcomes, webhooks, vault validation), Workload Identity Federation + interactive OAuth + auth profiles, and OIDC workspace targeting. Both SDKs version-locked together (Python v0.98 ↔ TS v0.93, Python v0.99 ↔ TS v0.94, Python v0.100 ↔ TS v0.95) so feature parity is maintained release-by-release.

Key Takeaways

  • Python v0.98.0 / TS v0.93.0 (May 4) — Three features land together: improved Managed Agents APIs (Python only — TS v0.93 only ships the auth piece), Workload Identity Federation + interactive OAuth + auth profiles, and support setting headers via env (Python only). Python also gets bug fixes for stop_details propagation in streaming, multipart file array field-name format, and an async-client base URL bug for Vertex us/eu multi-region.
  • Python v0.98.1 (May 4, hours later) — Typo-only chore release.
  • Python v0.99.0 / TS v0.94.0 (May 5) — Single feature: client: allow targeting a workspace for OIDC federation token exchange. Lets OIDC users scope tokens to a specific Anthropic workspace.
  • Python v0.100.0 / TS v0.95.0 (May 6) — Major feature: full Managed Agents surface lands. add support for Managed Agents multiagents and outcomes, webhooks, vault validation. Bug fix: Adjust webhook configuration. This is the SDK side of the same Managed Agents update covered in the Cookbook commits and the May 7 conference announcement.
  • TS v0.95.1 (May 7) — Chore: redact api-key headers in debug logs. Security hygiene.
  • Python v0.101.0 / TS aws-sdk v0.3.0 (May 11) — Both releases add the AWS client for Claude Platform on AWS, shipped the same day as the AWS GA announcement. Python v0.101.0 also fixes a missing f-string prefix in a file-type error message; example scripts bumped to claude-sonnet-4-5-20250929 and shebangs migrated from poetry to uv.
  • TS sdk-v0.95.2 (May 11) — Patch-only release; no public-feature notes in the changelog body (full changelog sdk-v0.95.1...sdk-v0.95.2 shows no entries).
  • Python v0.102.0 / TS sdk-v0.96.0 (May 13)Two features land in lockstep: (1) BetaManagedAgentsSearchResultBlock types — new content-block type for Managed Agents search results, surfaced through the API spec; first-class type support for the “agent searched, here’s the result block” interaction pattern that pairs with the W21 CMA Sessions MCP server bridge. (2) Cache diagnostics beta — opt-in beta for surfacing prompt-cache hit/miss diagnostics. Important for cost-optimization work; closes the “is my prompt cache actually hitting?” measurement gap for SDK clients and unlocks the measurement layer that Prompt Caching for Agencies depends on. Python v0.102.0 also adds internal/types: support eagerly validating pydantic iterators (better validation of streaming type-checked iterators). TS sdk-v0.96.0 includes a zod bug fix ensuring only zod/v4 types are used.
  • Python v0.103.0/v0.103.1 + TS sdk-v0.97.0/v0.97.1 (May 19, same-day .0 → .1)Self-hosted-sandbox helpers + same-day SessionToolRunner ownership patch. v0.103.0 / v0.97.0 land the SDK side of the Week 22 CMA self-hosted-sandboxes story (EnvironmentWorker, work.poller(), AgentToolContext, tool_runner(), sessions.update() mid-session updates, >100K MCP-output file offload). v0.103.1 / v0.97.1 ship a hours-later patch (runner: skip tool calls SessionToolRunner does not own — Python #1817 / 9425c6a, TS 9987379) — when a worker processes a session it doesn’t own (overlapping pollers, stale poller after migration), the runner now skips the tool call instead of executing it. Adoption rule: skip the .0; ship .1. Full coverage in Week 22 Digest including the cookbook scrub that re-points templates at the patched SDKs.
  • Python v0.104.0 / TS sdk-v0.98.0 (May 21)Single feature, version-locked: thinking-token-count beta — adds estimated token counts in thinking-block deltas when streaming (Python 80d0fdf, TS 0528d47). Lets clients track extended-thinking token spend during a stream rather than only in the final usage object — the streaming-side measurement complement to the cache-diagnostics beta (v0.102) above, and directly useful for budgeting extended-thinking cost on long agentic runs.
  • Python v0.104.1 (May 21, patch) — Bug-fix-only: streaming: carry encrypted_content through beta compaction accumulator (#1821, f7a720c). When streaming responses are accumulated under the context-compaction beta, the accumulator now preserves encrypted_content blocks instead of dropping them — relevant to anyone running long agentic sessions with compaction enabled (the encrypted reasoning carried across compaction boundaries was being lost in the streaming-accumulator path). No TS counterpart in this patch.
  • Python v0.105.0 / TS sdk-v0.100.0 (May 28) — Opus 4.8 support, version-locked. Same headline feature in both clients: api: Add support for claude-opus-4-8, mid-conversation system blocks, and usage.output_tokens_details (Python f18b014, TS bb0bf27). Adds (1) the claude-opus-4-8 model id as first-class, (2) mid-conversation system blocks (inject system-role content partway through a conversation), (3) usage.output_tokens_details for finer output-token accounting. Python v0.105.0 adds one TS-absent extra — support custom file size caps (#1825, 7e5f944) — plus a chore renaming the cookbook example managed-agents private-sandbox-workerself-hosted-sandbox-worker (#1822). This is the SDK side of the Week 23 Opus 4.8 launch. Bump to v0.105.0 / sdk-v0.100.0 for Opus 4.8.
  • TS sdk-v0.100.1 (May 29) — patch. streaming: carry encrypted_content on beta compaction blocks (#1025, eccddf3) — the TS port of the Python v0.104.1 fix; the encrypted-reasoning-across-compaction fix has now reached both SDKs. Plus a standardwebhooks lockfile chore (5e9b523).
  • Python v0.105.1 (May 29) — chore-only. internal: use Trusted Publishing for PyPI releases (1d04fc5). OIDC-based PyPI publishing; no public-facing change.
  • Python v0.105.2 (May 29) — empty release. Changelog body has no entries (v0.105.1...v0.105.2). Bare version bump.
  • TS aws-sdk-v0.3.1 + foundry-sdk-v0.2.4 (May 29) — chore-only. Both ship the identical standardwebhooks lockfile chore (5e9b523), cut from the same commit as sdk-v0.100.1. Pure plumbing. (First appearance of a foundry-sdk release in this article — the Microsoft Foundry sub-package, pairing with Opus 4.8 / dynamic-workflows availability on Foundry.)
  • The auth story is the under-the-radar headline. Workload Identity Federation, interactive OAuth, auth profiles, OIDC workspace targeting — together these change how SDK clients authenticate inside enterprise CI / cloud / Vertex environments.
  • Stainless-generated releases. All releases authored by stainless-app[bot] — Stainless is Anthropic’s SDK code-gen pipeline. The version-locking between Python and TS releases reflects this single source of truth.

June 2026 releases

A coordinated 2026-06-05 batch (stainless-app[bot]) bumped every SDK in lockstep — two real features plus housekeeping:

  • Packages: Python v0.106.0, TS sdk-v0.101.0, and all four cloud sub-SDKs — aws-sdk v0.4.0, bedrock-sdk v0.30.0, vertex-sdk v0.17.0, foundry-sdk v0.3.0.
  • Feature 1 — Claude Opus 4.1 marked deprecated (api: change across every package, 4ee46f2 / 85068cc). The SDKs now flag claude-opus-4-1 as deprecated, consistent with Opus 4.8 as the current flagship.
  • Feature 2 — client middleware support (client: add support for middleware, 9b01120) lands in the TS main SDK and all four cloud sub-SDKs — wrap requests/responses with a middleware chain. The v0.101.0 timeout fix scopes the request timeout to the inner fetch only, not the middleware chain (#40).
  • Python v0.106.0 extras: Foundry client copy() / with_options() now work (94146ac); transform-schema preserves $defs when the schema root is a $ref (#1642).
  • TS sdk-v0.101.0 extras: streaming fixes — carry stop_details through beta message_delta accumulation (ed3fec7), and correctly parse JSON numbers in scientific notation (#9).
  • Both: security reports now point to Anthropic’s HackerOne program (docs).
  • Adoption: bump to Python v0.106.0 / TS sdk-v0.101.0 for the middleware hook and the Opus-4.1-deprecation flag; Bedrock/Vertex/Foundry/AWS users get the same via the sub-SDK bumps.

2026-06-09 batch — Managed Agents deployments + Fable 5 hooks (Python v0.109, TS sdk-v0.104):

  • Python v0.109.0 / TS sdk-v0.104.0api: add support for Managed Agents *deployments* and environment-variable credentials. The SDK side of the W25 Managed-Agents-deployments throughline: schedule a deployed agent and feed it secrets via vault-backed env-var credentials (substituted at egress with networking allowlists). See Managed Agents.
  • Python v0.109.1 / TS sdk-v0.104.1api: add frontier_llm refusal category. The SDK-side hook for Fable 5’s topic-gated fallback: a refused request returns this category and the server-side fallback (to Opus 4.8) fires.
  • Adoption: bump to Python v0.109.x / TS sdk-v0.104.x if you deploy Managed Agents or build on Fable 5.

2026-06-15 — model-retirement cleanup (Python v0.109.2, TS sdk-v0.104.2):

  • Python v0.109.2 / TS sdk-v0.104.2 (June 15) — chore. api: remove retired models from API and SDKs (Python d4bcfcc, TS a942876). Drops models already retired from the API surface out of both clients — the housekeeping tail of the model-deprecation thread above (Opus 4.1 was flagged deprecated in the 06-05 batch). No new feature or API capability; bump only to track the trimmed model list. Version-locked across both SDKs as usual.

July 2026 releases

2026-07-10 — TS sdk-v0.111.0: dreaming API support + session tool-call gating. Two features land (Full Changelog: sdk-v0.110.0...sdk-v0.111.0 — see Coverage gap below):

  • api: add support for dreaming (77b28a6) — first-class TS SDK support for Claude Dreaming, the Managed Agents primitive announced at Code with Claude 2026 where an agent inspects past sessions, extracts missed skills and lessons, and writes them to a memory store subsequent sessions reference (the demo case: an overnight Dream run lifted a drone-landing benchmark from 4/6 sites to 6/6). Dreaming was previously a one-button Cloud Developer Console feature; this release gives SDK clients programmatic access to trigger and presumably consume it. The changelog line is terse — exact request/response shape, cost model, and schema flexibility aren’t stated. See Alex Albert’s interview for the “dreaming as overnight memory pruning” framing from Anthropic’s research PM.
  • tools: gate session tool calls on evaluated_permission; bound idle by server stop_reason (68a6d7b) — two related session-governance changes for Managed Agents tool calls: (1) tool calls within a session are now gated on an evaluated_permission value rather than executing unconditionally, and (2) session idle timeout is now bound by the server’s stop_reason rather than purely client-side timing. Reads as a hardening pass on the session/tool-call primitives documented in Scaling Managed Agents (execute/provision/wake/getSession/emitEvent/getEvents) — plausibly connects to the same permission-evaluation discipline behind auto mode’s classifier-gated tool calls in Claude Code, though the changelog doesn’t confirm a shared mechanism.
  • Chores (skipped as noise): field-description doc updates (e25b885), model-example doc update (a33f3f0), description/example doc updates (eac4bac).
  • Coverage gap. This article has no confirmed detail for TS sdk-v0.105.0 through sdk-v0.110.0, or any Python release after v0.109.2 (June 15). The v0.111.0 changelog diffs only against v0.110.0, which confirms intermediate TS releases exist — their contents are simply unconfirmed here pending a source pull. See Open Questions.
  • Adoption: bump to TS sdk-v0.111.0 for programmatic dreaming triggers or the tightened session tool-call gating. No confirmed Python-side equivalent yet — check the Python changelog directly before assuming parity.

2026-07-21 — Python v0.117.1 / TS sdk-v0.112.5: a new refusal category (patch pair).

Sources: raw/anthropic-watch-anthropic-sdk-python-tag-v0-117-1.md, raw/anthropic-watch-anthropic-sdk-typescript-tag-sdk-v0-112-5.md. Both tagged 2026-07-21T22:27Z, version-locked as usual.

  • api: add support for new refusal category — the shared headline, filed as a chore in both changelogs. The category is not named in either release note. This is the same shape as the June frontier_llm category (Python v0.109.1 / TS v0.104.1) that hooks Fable 5’s topic-gated fallback — but whether this one extends that mechanism or is unrelated is unconfirmed. See Open Questions.
  • Python-only bug fix: aws: handle credentials correctly when using AnthropicAWS.copy() (85d3881) — .copy() on the AWS client previously mishandled credentials. Relevant to anyone cloning a Bedrock client to vary per-request config.
  • Remaining Python entries are dependency/docs chores (http-snapshot 0.1.9, httpx_aiohttp major-version pin, codegen). TS ships only the refusal category plus a codegen update.

2026-07-22 — Python v0.118.0 / TS sdk-v0.113.0: the Managed Agents July launch wave.

Sources: raw/anthropic-watch-anthropic-sdk-python-tag-v0-118-0.md, raw/anthropic-watch-anthropic-sdk-typescript-tag-sdk-v0-113-0.md. Both tagged 2026-07-22T16:4xZ with an identical single feature line: api: add support for Managed Agents model effort, initial session events, and threads delta streaming.

This is the SDK-side wire-up of the July launch wave documented in full at Managed Agents § July launch wave — effort on the agent’s model object (agent-config only; silently ignored in a per-session override), initial_events on session create, and per-thread event-delta streaming. The skill-docs and cookbook sides landed the same day (anthropics/skills PR #1463; claude-cookbooks PR #792). This is the version floor for all three features.

2026-07-23 — Python v0.119.0 / TS sdk-v0.114.0: model_context_window_exceeded stop reason.

Sources: raw/anthropic-watch-anthropic-sdk-python-tag-v0-119-0.md, raw/anthropic-watch-anthropic-sdk-typescript-tag-sdk-v0-114-0.md. Both tagged 2026-07-23T17:34Z.

  • api: add new stop reason 'model_context_window_exceeded' (Python d983cde / TS 1ec71c1) — a new stop_reason value on the Messages API, shipped to both SDKs in lockstep. It names a condition that previously had no typed representation: the request exceeded the model’s context window. Practical consequence for anyone with a stop_reason switch — an exhaustive match that didn’t have a default branch will now fall through on this value, and a long-running agent loop that treats “not end_turn” as retryable will retry a request that cannot succeed unretried. Handle it as terminal-unless-you-shrink-the-input, alongside max_tokens, pause_turn, and refusal.
  • Python-only bug fix: tools: handle binary files in agent toolset read/edit (#283) (417b76b) — the SDK’s agent toolset (the read/edit tools handed to a local agent loop) previously mishandled binary files. Relevant to Agent SDK-style harnesses and the tool_runner path where an agent may read an arbitrary path it discovered. No TS counterpart in this release.

What’s actually new in Managed Agents

Per the v0.100.0 / v0.95.0 changelog: multiagents, outcomes, webhooks, vault validation. Reading the four together:

  • multiagents — programmatic API for the Managed Agents coordinator pattern (the cookbook example uses it for a coordinator-runs-three-specialists sales-proposal workflow).
  • outcomes — grader-and-revise loop where a writer drafts, a grader checks against a rubric, feedback drives revisions until pass. New Outcome API surface for declaring rubrics + receiving grader feedback in-loop.
  • webhooks — external systems can subscribe to Managed Agents events. The bug-fix line Adjust webhook configuration suggests the spec was tightened post-shipping.
  • vault validation — credential / secrets vault validation surface. Mentioned tersely in the changelog; cookbook coverage doesn’t expand. Open thread.

Auth surface changes

  • Workload Identity Federation (Python v0.98.0 / TS v0.93.0) — Standard pattern for IAM-federated cloud workloads (GCP/AWS/Azure) to authenticate without long-lived API keys. Significant for production workloads that previously relied on storing API keys in environment variables.
  • Interactive OAuth (Python v0.98.0 / TS v0.93.0) — Browser-based OAuth flow for human-driven SDK usage. Pairs with the Claude Code v2.1.126 paste-code path improvement.
  • Auth profiles (Python v0.98.0 / TS v0.93.0) — Multiple named authentication contexts for the same client. Useful for testing across orgs/workspaces.
  • Header-via-env (Python v0.98.0 only) — Set client headers via environment variables. TS not mentioned in the changelog.
  • OIDC workspace targeting (Python v0.99.0 / TS v0.94.0) — Scope OIDC federation tokens to a specific Anthropic workspace.

Try It

  1. Bump Python SDK to 0.100.0 or TS SDK to 0.95.0. This is the version that has the full Managed Agents surface. pip install --upgrade anthropic or npm install @anthropic-ai/sdk@latest.
  2. Use the multiagents API in a coordinator pattern. Walk through the new `CMA_coordinate_specialist_team` cookbook to see the API in action.
  3. Try the outcomes grade-and-revise loop. Same cookbook covers CMA_verify_with_outcome_grader.ipynb — a writer drafts, a grader checks, feedback drives revisions. Six-principle rubric-writing table + failure-mode discussion included in the cookbook.
  4. Adopt Workload Identity Federation in CI. If you’re running Claude SDK in a GitHub Actions / GitLab CI / cloud workload that has IAM federation set up, swap your ANTHROPIC_API_KEY env var for the federated auth pattern. Check the SDK release notes for the exact client-config snippet.
  5. Verify TS debug-log redaction (TS v0.95.1). Set DEBUG=* and call the client; confirm api-key headers are now redacted. If you’d been auditing for accidental key leakage in CI logs, this closes the gap.
  6. Bump to TS sdk-v0.111.0 to try the dreaming API. If you’re already running Managed Agents, this is the first SDK-level (not just Console-button) way to trigger a memory-consolidation pass programmatically — worth a spike before wiring it into a scheduled job.

Update: Anthropic acquires Stainless (2026-05-18 → 2026-05-19)

[Reddit signal — r/ClaudeAI 2026-05-19] reddit-1thkkrb (Ok-Constant6488, 107 score / 54 comments): Anthropic acquired Stainless on Monday 2026-05-18 for a reported $300M+. The hosted product is winding down — new signups stopped Monday, new SDK and MCP server generations stopped Monday, existing customers keep what they’ve already generated but the pipeline is closed. ~40-50 engineers including founder Alex Rattray (previously built Stripe’s patented SDK generation system) join Anthropic’s Platform Engineering org under Katelyn Lesse. Anthropic now owns:

  1. The engineering team behind the dominant MCP-server generator.
  2. The generator technology, templates, language-specific runtimes, and OpenAPI extensions Stainless invented for SDK-specific edge cases.

Reading. All the SDK releases cataloged above were already authored by stainless-app[bot] — Anthropic now owns that pipeline outright instead of renting it. The strategic framing in the Reddit post: Anthropic created MCP, donated it to the Linux Foundation in December 2025, and now owns the dominant implementation toolchain. The protocol is vendor-neutral on paper; the implementation toolchain isn’t. Concentration risk for orgs that want diversity in their MCP-server stack — Cloudflare’s MCP server framework and Pulse MCP become strategically important alternatives. The 6-month Anthropic M&A pattern (Dec 2025 Bun → Feb 2026 Vercept → Apr 2026 Coefficient Bio → May 2026 Stainless) reads as buying the integration layer around the model, not training infrastructure. Primary sources cited in the Reddit post: Anthropic’s announcement and brightbean.xyz/blog/anthropic-acquires-stainless-sdk-mcp-power-play/.

Open Questions

  • Vault validation specifics. Changelog line is one phrase. Open question: does this connect to the WEO-internal vault patterns or to a generic secrets-vault interface?
  • Header-via-env asymmetry. Python v0.98.0 has it; TS v0.93.0 does not. Is this an intentional gap or pending TS implementation?
  • TS v0.94 → v0.95 with no shared chores. TS has a slightly different cadence than Python — v0.95.1 redacts headers but Python does not have a parallel release. Open thread on Stainless drift between SDKs.
  • TS sdk-v0.105.0–v0.110.0 unconfirmed. The v0.111.0 changelog confirms these releases exist (diffed against v0.110.0) but this article has no source covering their contents. Needs a targeted watch-source pull.
  • Python SDK releases after v0.109.2 (June 15) unconfirmed. No Python-side source has landed since the model-retirement chore. Unknown whether a Python equivalent to the dreaming API or session-tool-call gating exists yet.
  • Dreaming API shape. The v0.111.0 changelog line (api: add support for dreaming) doesn’t specify the request/response schema, whether it’s request-triggered or polling-based, or how it relates to the Cloud Developer Console’s one-button Dream activation. Needs a docs or cookbook pull to confirm.
  • Which refusal category shipped in Python v0.117.1 / TS sdk-v0.112.5? Both changelogs say only “new refusal category” without naming it. Unknown whether it extends the June frontier_llm fallback mechanism or covers a separate condition.
  • model_context_window_exceeded semantics. The changelog gives the value, not the behavior contract: whether it can arrive mid-stream, whether partial content precedes it, and whether prompt-cache or usage billing applies to the failed request are all unstated. Needs an API-docs pull.
  • Coverage gap narrowed but not closed. This article now has confirmed detail for Python v0.117.1–v0.119.0 and TS sdk-v0.112.5–v0.114.0. Python v0.110–v0.117.0 and TS sdk-v0.105.0–v0.112.4 remain unsourced.