From d7b6a35967ba72ebece3dc8466b77d315cebdfec Mon Sep 17 00:00:00 2001 From: Taneem Ibrahim Date: Thu, 27 Aug 2026 14:18:16 -0400 Subject: [PATCH] [Bugfix] Handle malformed namespace tools (#53763) Signed-off-by: Taneem Ibrahim --- vllm/entrypoints/openai/responses/protocol.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/vllm/entrypoints/openai/responses/protocol.py b/vllm/entrypoints/openai/responses/protocol.py index ff3331612f..48827ff941 100644 --- a/vllm/entrypoints/openai/responses/protocol.py +++ b/vllm/entrypoints/openai/responses/protocol.py @@ -622,8 +622,15 @@ class ResponsesRequest(OpenAIBaseModel): if isinstance(tool, dict): if tool.get("type") == "namespace": namespace = tool.get("name") - for namespaced_tool in tool.get("tools", []): - namespaced_name = namespaced_tool.get("name") + namespaced_tools = tool.get("tools") + if not isinstance(namespaced_tools, list): + return data + for namespaced_tool in namespaced_tools: + namespaced_name = ( + namespaced_tool.get("name") + if isinstance(namespaced_tool, dict) + else getattr(namespaced_tool, "name", None) + ) tool_names.add(namespaced_name) tool_names.add(f"{namespace}__{namespaced_name}") else: