From cc4ecd3e8ef50e4968ccf7875fdf84fbcb331b27 Mon Sep 17 00:00:00 2001 From: Tyler Longwell Date: Wed, 17 Dec 2025 22:28:29 -0500 Subject: [PATCH] remove dead working_dir threading --- crates/goose-cli/src/session/builder.rs | 1 - crates/goose/src/agents/extension.rs | 2 -- crates/goose/src/agents/extension_manager.rs | 1 - crates/goose/src/agents/subagent_client.rs | 14 +++----------- crates/goose/src/execution/manager.rs | 1 - crates/goose/tests/agent.rs | 1 - 6 files changed, 3 insertions(+), 17 deletions(-) diff --git a/crates/goose-cli/src/session/builder.rs b/crates/goose-cli/src/session/builder.rs index 4353c4e25c..01985bdb07 100644 --- a/crates/goose-cli/src/session/builder.rs +++ b/crates/goose-cli/src/session/builder.rs @@ -387,7 +387,6 @@ pub async fn build_session(session_config: SessionBuilderConfig) -> CliSession { session_id: Some(session_id.clone()), extension_manager: Some(Arc::downgrade(&agent.extension_manager)), tool_route_manager: Some(Arc::downgrade(&agent.tool_route_manager)), - working_dir: None, sub_recipes: Some(agent.sub_recipes()), }) .await; diff --git a/crates/goose/src/agents/extension.rs b/crates/goose/src/agents/extension.rs index 83b8a2c3dd..ff8204daf0 100644 --- a/crates/goose/src/agents/extension.rs +++ b/crates/goose/src/agents/extension.rs @@ -6,7 +6,6 @@ use crate::agents::subagent_client; use crate::agents::todo_extension; use crate::recipe::SubRecipe; use std::collections::HashMap; -use std::path::PathBuf; use std::sync::Arc; use tokio::sync::RwLock; @@ -126,7 +125,6 @@ pub struct PlatformExtensionContext { Option>, pub tool_route_manager: Option>, - pub working_dir: Option, pub sub_recipes: Option>>>, } diff --git a/crates/goose/src/agents/extension_manager.rs b/crates/goose/src/agents/extension_manager.rs index 8d27efa3a0..6cb59d0f8a 100644 --- a/crates/goose/src/agents/extension_manager.rs +++ b/crates/goose/src/agents/extension_manager.rs @@ -262,7 +262,6 @@ impl ExtensionManager { session_id: None, extension_manager: None, tool_route_manager: None, - working_dir: None, sub_recipes: None, }), provider, diff --git a/crates/goose/src/agents/subagent_client.rs b/crates/goose/src/agents/subagent_client.rs index 68bab75a6c..301229a0bd 100644 --- a/crates/goose/src/agents/subagent_client.rs +++ b/crates/goose/src/agents/subagent_client.rs @@ -14,7 +14,6 @@ use rmcp::model::{ ServerCapabilities, ServerNotification, Tool, ToolsCapability, }; use serde_json::Value; -use std::path::PathBuf; use tokio::sync::mpsc; use tokio_util::sync::CancellationToken; @@ -81,13 +80,6 @@ impl SubagentClient { } } - fn get_working_dir(&self) -> PathBuf { - self.context - .working_dir - .clone() - .unwrap_or_else(|| std::env::current_dir().unwrap_or_else(|_| PathBuf::from("."))) - } - async fn build_tool(&self) -> Tool { let sub_recipes = self.get_sub_recipes().await; let sub_recipes_vec: Vec<_> = sub_recipes.values().cloned().collect(); @@ -159,13 +151,13 @@ impl McpClientTrait for SubagentClient { ])))); }; - // Get working_dir from parent session if available + // Get working_dir from parent session, fall back to current dir let working_dir = match &self.context.session_id { Some(session_id) => crate::session::SessionManager::get_session(session_id, false) .await .map(|s| s.working_dir) - .unwrap_or_else(|_| self.get_working_dir()), - None => self.get_working_dir(), + .unwrap_or_else(|_| std::env::current_dir().unwrap_or_else(|_| ".".into())), + None => std::env::current_dir().unwrap_or_else(|_| ".".into()), }; let extensions = self.get_extensions().await; diff --git a/crates/goose/src/execution/manager.rs b/crates/goose/src/execution/manager.rs index 08ea38aad2..f7ae8cbc5c 100644 --- a/crates/goose/src/execution/manager.rs +++ b/crates/goose/src/execution/manager.rs @@ -88,7 +88,6 @@ impl AgentManager { session_id: Some(session_id.clone()), extension_manager: Some(Arc::downgrade(&agent.extension_manager)), tool_route_manager: Some(Arc::downgrade(&agent.tool_route_manager)), - working_dir: None, sub_recipes: Some(agent.sub_recipes()), }) .await; diff --git a/crates/goose/tests/agent.rs b/crates/goose/tests/agent.rs index 285c1dc7d9..bbbb0fc188 100644 --- a/crates/goose/tests/agent.rs +++ b/crates/goose/tests/agent.rs @@ -474,7 +474,6 @@ mod tests { session_id: Some("test_session".to_string()), extension_manager: Some(Arc::downgrade(&agent.extension_manager)), tool_route_manager: Some(Arc::downgrade(&agent.tool_route_manager)), - working_dir: None, sub_recipes: Some(agent.sub_recipes()), }) .await;