From a041d10655f83ed0156c0229f311e3baf8aca1e0 Mon Sep 17 00:00:00 2001 From: Yingjie He Date: Wed, 26 Feb 2025 09:51:24 -0800 Subject: [PATCH] fix: detect read only tool when only mode is approve --- crates/goose/src/agents/truncate.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crates/goose/src/agents/truncate.rs b/crates/goose/src/agents/truncate.rs index 7661f5167..9f8ebc6c3 100644 --- a/crates/goose/src/agents/truncate.rs +++ b/crates/goose/src/agents/truncate.rs @@ -238,8 +238,6 @@ impl Agent for TruncateAgent { break; } - let read_only_tools = detect_read_only_tools(&capabilities, tool_requests.clone()).await; - // Process tool requests depending on goose_mode let mut message_tool_response = Message::user(); // Clone goose_mode once before the match to avoid move issues @@ -247,6 +245,7 @@ impl Agent for TruncateAgent { match mode.as_str() { "approve" => { // Process each tool request sequentially with confirmation + let read_only_tools = detect_read_only_tools(&capabilities, tool_requests.clone()).await; for request in &tool_requests { if let Ok(tool_call) = request.tool_call.clone() { // Skip confirmation if the tool_call.name is in the read_only_tools list