From 1719067aca141e75fc7e16a642fad5feff1b65e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E6=99=BA=E8=B6=850668000959?= Date: Fri, 12 Jun 2026 14:16:18 +0800 Subject: [PATCH] fix(tools): handle json.Marshal error in toolloop tool call arguments --- pkg/tools/toolloop.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/tools/toolloop.go b/pkg/tools/toolloop.go index ac568f598..5cbf5662a 100644 --- a/pkg/tools/toolloop.go +++ b/pkg/tools/toolloop.go @@ -132,7 +132,11 @@ func RunToolLoop( Content: response.Content, } for _, tc := range normalizedToolCalls { - argumentsJSON, _ := json.Marshal(tc.Arguments) + argumentsJSON, err := json.Marshal(tc.Arguments) + if err != nil { + logger.Warnf("toolloop: failed to marshal tool call arguments for %s: %v", tc.Name, err) + argumentsJSON = []byte("{}") + } assistantMsg.ToolCalls = append(assistantMsg.ToolCalls, providers.ToolCall{ ID: tc.ID, Type: "function",