diff --git a/src/anthropic/lib/streaming/_beta_messages.py b/src/anthropic/lib/streaming/_beta_messages.py index c1447a8d..b9d03a12 100644 --- a/src/anthropic/lib/streaming/_beta_messages.py +++ b/src/anthropic/lib/streaming/_beta_messages.py @@ -365,7 +365,7 @@ def build_events( ) ) elif event.delta.type == "input_json_delta": - if content_block.type == "tool_use" or content_block.type == "mcp_tool_use": + if content_block.type in ("tool_use", "mcp_tool_use", "server_tool_use"): events_to_fire.append( build( BetaInputJsonEvent, diff --git a/src/anthropic/lib/streaming/_messages.py b/src/anthropic/lib/streaming/_messages.py index b6b5f538..c6013ddc 100644 --- a/src/anthropic/lib/streaming/_messages.py +++ b/src/anthropic/lib/streaming/_messages.py @@ -515,4 +515,8 @@ def accumulate_event( if event.usage.server_tool_use is not None: current_snapshot.usage.server_tool_use = event.usage.server_tool_use + # Propagate container from delta (needed for code_execution tool continuation) + if getattr(event.delta, "container", None) is not None: + current_snapshot.container = event.delta.container + return current_snapshot diff --git a/uv.lock b/uv.lock index 124bb883..b561de5a 100644 --- a/uv.lock +++ b/uv.lock @@ -194,7 +194,7 @@ wheels = [ [[package]] name = "anthropic" -version = "0.88.0" +version = "0.97.0" source = { editable = "." } dependencies = [ { name = "anyio" },