diff --git a/crates/agent/src/thread.rs b/crates/agent/src/thread.rs index 074e080a608eaa33ccb69d8eee7adbf50a46b90f..fb0f7dce19ee331f00a92123135632c4f9647206 100644 --- a/crates/agent/src/thread.rs +++ b/crates/agent/src/thread.rs @@ -1533,8 +1533,8 @@ impl Thread { log::debug!("Calling model.stream_completion, attempt {}", attempt); let (mut events, mut error) = match model.stream_completion(request, cx).await { - Ok(events) => (events, None), - Err(err) => (stream::empty().boxed(), Some(err)), + Ok(events) => (events.fuse(), None), + Err(err) => (stream::empty().boxed().fuse(), Some(err)), }; let mut tool_results = FuturesUnordered::new(); let mut cancelled = false;