From ee04dbba51a4299b6ff4bb19f758eeacbf2b35d8 Mon Sep 17 00:00:00 2001 From: Devon Rifkin Date: Mon, 11 Aug 2025 14:09:13 -0700 Subject: [PATCH] server: fix error when parsing bad harmony tool calls Thanks @moll for reporting! Fixes: #11781 --- server/routes.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/routes.go b/server/routes.go index 991e92003e..8d5ca12dff 100644 --- a/server/routes.go +++ b/server/routes.go @@ -364,7 +364,8 @@ func (s *Server) GenerateHandler(c *gin.Context) { *toolName = strings.TrimPrefix(*toolName, "functions.") var args api.ToolCallFunctionArguments if err := json.Unmarshal([]byte(toolContent), &args); err != nil { - ch <- gin.H{"error parsing tool call": err.Error()} + errStr := fmt.Sprintf("error parsing tool call: raw='%s', err=%s", toolContent, err.Error()) + ch <- gin.H{"error": errStr} return } @@ -1655,7 +1656,8 @@ func (s *Server) ChatHandler(c *gin.Context) { *toolName = strings.TrimPrefix(*toolName, "functions.") var args api.ToolCallFunctionArguments if err := json.Unmarshal([]byte(toolContent), &args); err != nil { - ch <- gin.H{"error parsing tool call": err.Error()} + errStr := fmt.Sprintf("error parsing tool call: raw='%s', err=%s", toolContent, err.Error()) + ch <- gin.H{"error": errStr} return } res.Message.ToolCalls = []api.ToolCall{{Function: api.ToolCallFunction{Name: *toolName, Arguments: args}}}