From 242f2f14803e1476492d6b3ea94d9643bbc3337d Mon Sep 17 00:00:00 2001 From: David Rudduck Date: Tue, 10 Feb 2026 16:08:43 +1000 Subject: [PATCH] fix: return 500 for tool execution failures instead of 400 Tool runtime errors are server-side faults, not client input errors. Returning 400 causes clients to mishandle retries/backoff. Addresses Greptile review feedback on #13185. --- src/gateway/tools-invoke-http.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gateway/tools-invoke-http.ts b/src/gateway/tools-invoke-http.ts index 24e91754cd..5256e3ff96 100644 --- a/src/gateway/tools-invoke-http.ts +++ b/src/gateway/tools-invoke-http.ts @@ -349,7 +349,7 @@ export async function handleToolsInvokeHttpRequest( sendJson(res, 200, { ok: true, result }); } catch (err) { logWarn(`tools-invoke: tool execution failed: ${String(err)}`); - sendJson(res, 400, { + sendJson(res, 500, { ok: false, error: { type: "tool_error", message: "tool execution failed" }, });