From f9176266ee2974cdcab0a4938152b6899e2fc18f Mon Sep 17 00:00:00 2001 From: Abhijay Jain Date: Wed, 2 Sep 2026 01:57:17 +0000 Subject: [PATCH] fix(openai): update stored tool call name when later delta carries non-empty name (#11750) --- crates/goose-provider-types/src/formats/openai.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/goose-provider-types/src/formats/openai.rs b/crates/goose-provider-types/src/formats/openai.rs index 7c15df36f..9cff8053c 100644 --- a/crates/goose-provider-types/src/formats/openai.rs +++ b/crates/goose-provider-types/src/formats/openai.rs @@ -1381,7 +1381,12 @@ where if let Some(delta_tool_calls) = &tool_chunk.choices[0].delta.tool_calls { for delta_call in delta_tool_calls { if let Some(index) = delta_call.index { - if let Some((_, _, ref mut args, ref mut extra)) = tool_call_data.get_mut(&index) { + if let Some((_, ref mut stored_name, ref mut args, ref mut extra)) = tool_call_data.get_mut(&index) { + if let Some(new_name) = &delta_call.function.name { + if !new_name.is_empty() { + *stored_name = new_name.clone(); + } + } args.push_str(&delta_call.function.arguments); if extra.is_none() && delta_call.extra.is_some() { *extra = delta_call.extra.clone();