From f890fe6901563d92e4aae649088f29b7ee33056c Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Mon, 11 Aug 2025 17:36:36 +0400 Subject: [PATCH] enh: allow plaintext for external tool servers --- backend/open_webui/utils/tools.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/backend/open_webui/utils/tools.py b/backend/open_webui/utils/tools.py index 3727bb1ad9..e9506fd2d8 100644 --- a/backend/open_webui/utils/tools.py +++ b/backend/open_webui/utils/tools.py @@ -626,7 +626,13 @@ async def execute_tool_server( if response.status >= 400: text = await response.text() raise Exception(f"HTTP error {response.status}: {text}") - return await response.json() + + try: + response_data = await response.json() + except Exception: + response_data = await response.text() + + return response_data else: async with request_method( final_url, @@ -636,7 +642,13 @@ async def execute_tool_server( if response.status >= 400: text = await response.text() raise Exception(f"HTTP error {response.status}: {text}") - return await response.json() + + try: + response_data = await response.json() + except Exception: + response_data = await response.text() + + return response_data except Exception as err: error = str(err)