From 4a06e2fc9989199e25a674005959a628883eddbd Mon Sep 17 00:00:00 2001 From: Alex Hancock Date: Thu, 30 Oct 2025 16:53:08 -0400 Subject: [PATCH] fix: disable subagents unless env var explicitly provided --- crates/goose/src/agents/recipe_tools/dynamic_task_tools.rs | 3 +++ scripts/test_subrecipes.sh | 1 + 2 files changed, 4 insertions(+) diff --git a/crates/goose/src/agents/recipe_tools/dynamic_task_tools.rs b/crates/goose/src/agents/recipe_tools/dynamic_task_tools.rs index 8f6b2881b2..ff60052457 100644 --- a/crates/goose/src/agents/recipe_tools/dynamic_task_tools.rs +++ b/crates/goose/src/agents/recipe_tools/dynamic_task_tools.rs @@ -93,6 +93,9 @@ pub struct TaskParameter { } pub fn should_enabled_subagents(model_name: &str) -> bool { + if std::env::var("GOOSE_ENABLE_SUBAGENTS").is_err() { + return false; + } let config = crate::config::Config::global(); let is_autonomous = config.get_goose_mode().unwrap_or(GooseMode::Auto) == GooseMode::Auto; if !is_autonomous { diff --git a/scripts/test_subrecipes.sh b/scripts/test_subrecipes.sh index 29920f2e2c..b1856b361a 100755 --- a/scripts/test_subrecipes.sh +++ b/scripts/test_subrecipes.sh @@ -22,6 +22,7 @@ export PATH="$SCRIPT_DIR/target/release:$PATH" # Set default provider and model if not already set export GOOSE_PROVIDER="${GOOSE_PROVIDER:-anthropic}" export GOOSE_MODEL="${GOOSE_MODEL:-claude-sonnet-4-5-20250929}" +export GOOSE_ENABLE_SUBAGENTS=1 echo "Using provider: $GOOSE_PROVIDER" echo "Using model: $GOOSE_MODEL"