From de6febb09438490a916af86d88b35a1c2a7a0b3f Mon Sep 17 00:00:00 2001 From: brook hong Date: Fri, 28 Nov 2025 20:03:46 +0800 Subject: [PATCH] fix: hangs on tool calling to read_todos (#2835) --- lua/avante/providers/claude.lua | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lua/avante/providers/claude.lua b/lua/avante/providers/claude.lua index 9f476b7..6746548 100644 --- a/lua/avante/providers/claude.lua +++ b/lua/avante/providers/claude.lua @@ -215,7 +215,7 @@ function M:parse_response(ctx, data_stream, event_state, opts) type = "tool_use", name = content_block.name, id = content_block.id, - input = incomplete_json or {}, + input = incomplete_json or { dummy = "" }, }) content_block.uuid = msg.uuid opts.on_messages_add({ msg }) @@ -281,15 +281,12 @@ function M:parse_response(ctx, data_stream, event_state, opts) elseif content_block.type == "tool_use" then if opts.on_messages_add then local ok_, complete_json = pcall(vim.json.decode, content_block.input_json) - if not ok_ then - Utils.warn("Failed to parse tool_use input_json: " .. content_block.input_json) - return - end + if not ok_ then complete_json = nil end local msg = new_assistant_message({ type = "tool_use", name = content_block.name, id = content_block.id, - input = complete_json or {}, + input = complete_json or { dummy = "" }, }, content_block.uuid) opts.on_messages_add({ msg }) end