diff --git a/crates/goose/src/agents/platform_extensions/summon.rs b/crates/goose/src/agents/platform_extensions/summon.rs index 320d77fbb..13e17764a 100644 --- a/crates/goose/src/agents/platform_extensions/summon.rs +++ b/crates/goose/src/agents/platform_extensions/summon.rs @@ -1370,7 +1370,20 @@ impl SummonClient { if filter.is_empty() { extensions = Vec::new(); } else { + let available_names: Vec = + extensions.iter().map(|ext| ext.name()).collect(); extensions.retain(|ext| filter.contains(&ext.name())); + let unmatched: Vec<&str> = filter + .iter() + .filter(|name| !available_names.iter().any(|n| n == *name)) + .map(String::as_str) + .collect(); + if !unmatched.is_empty() { + warn!( + "Delegate requested extensions not available in session: {:?}. Available: {:?}", + unmatched, available_names + ); + } } }