diff --git a/crates/agent2/src/thread.rs b/crates/agent2/src/thread.rs index 6d688675ba9ebd34929b0cd4dc033d26fde56d82..034b26b714e6ec62bff371fe00bd9d176bca1ec7 100644 --- a/crates/agent2/src/thread.rs +++ b/crates/agent2/src/thread.rs @@ -607,10 +607,10 @@ impl Thread { let kind = tool.kind(); stream.send_tool_call(&tool_use.id, title, kind, tool_use.input.clone()); - if let Some(output) = tool_result + let output = tool_result .as_ref() - .and_then(|result| result.output.clone()) - { + .and_then(|result| result.output.clone()); + if let Some(output) = output.clone() { let tool_event_stream = ToolCallEventStream::new( tool_use.id.clone(), stream.clone(), @@ -624,6 +624,7 @@ impl Thread { &tool_use.id, acp::ToolCallUpdateFields { status: Some(acp::ToolCallStatus::Completed), + raw_output: output, ..Default::default() }, );