diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py
index 4d8a85283..97a220d9c 100644
--- a/backend/open_webui/utils/middleware.py
+++ b/backend/open_webui/utils/middleware.py
@@ -1191,33 +1191,42 @@ async def process_chat_response(
tool_calls_display_content = ""
for tool_call in tool_calls:
+ tool_call_id = tool_call.get("id", "")
+ tool_name = tool_call.get("function", {}).get(
+ "name", ""
+ )
+ tool_arguments = tool_call.get("function", {}).get(
+ "arguments", ""
+ )
+
tool_result = None
for result in results:
- tool_call_id = result.get("tool_call_id", "")
- tool_name = ""
-
- if tool_call.get("id", "") == tool_call_id:
- tool_name = tool_call.get("function", {}).get(
- "name", ""
- )
- tool_result = result
+ if tool_call_id == result.get("tool_call_id", ""):
+ tool_result = result.get("content", None)
break
if tool_result:
- tool_calls_display_content = f"{tool_calls_display_content}\nExecuted `{tool_name}` with the following arguments:\n```\n{tool_call.get('function', {}).get('arguments', '')}\n```\n> {tool_result.get('content', '')}"
+ tool_calls_display_content = f'{tool_calls_display_content}\n\nTool Executed
\n '
else:
- tool_calls_display_content = f"{tool_calls_display_content}\nExecuted `{tool_call.get('function', {}).get('name', '')}` with the following arguments:\n```\n{tool_call.get('function', {}).get('arguments', '')}\n```"
+ tool_calls_display_content = f'{tool_calls_display_content}\n\nExecuting...
\n '
if not raw:
- content = f'{content}\n\nTool Executed
\n{tool_calls_display_content}\n \n'
+ content = f"{content}\n{tool_calls_display_content}\n"
else:
tool_calls_display_content = ""
for tool_call in tool_calls:
- tool_calls_display_content = f"{tool_calls_display_content}\nExecuting `{tool_call.get('function', {}).get('name', '')}` with the following arguments:\n```\n{tool_call.get('function', {}).get('arguments', '')}\n```"
+ tool_name = tool_call.get("function", {}).get(
+ "name", ""
+ )
+ tool_arguments = tool_call.get("function", {}).get(
+ "arguments", ""
+ )
+
+ tool_calls_display_content = f'{tool_calls_display_content}\n\nExecuting...
\n '
if not raw:
- content = f'{content}\n\nTool Executing...
\n{tool_calls_display_content}\n \n'
+ content = f"{content}\n{tool_calls_display_content}\n"
elif block["type"] == "reasoning":
reasoning_display_content = "\n".join(
diff --git a/src/lib/components/chat/Messages/Markdown.svelte b/src/lib/components/chat/Messages/Markdown.svelte
index 4340c3a0d..472e53e59 100644
--- a/src/lib/components/chat/Messages/Markdown.svelte
+++ b/src/lib/components/chat/Messages/Markdown.svelte
@@ -11,7 +11,7 @@
const dispatch = createEventDispatcher();
- export let id;
+ export let id = '';
export let content;
export let model = null;
export let save = false;
diff --git a/src/lib/components/common/Collapsible.svelte b/src/lib/components/common/Collapsible.svelte
index cc5249409..515458115 100644
--- a/src/lib/components/common/Collapsible.svelte
+++ b/src/lib/components/common/Collapsible.svelte
@@ -1,4 +1,6 @@