From 0ed51a5873dc68a869ab429655c7df7b3f153451 Mon Sep 17 00:00:00 2001 From: jeffa-block <233853744+jeffa-block@users.noreply.github.com> Date: Tue, 16 Jun 2026 05:47:31 +1000 Subject: [PATCH] fix(summon): warn on unmatched extension names in delegate (#9513) Signed-off-by: Douwe M Osinga Co-authored-by: Douwe M Osinga --- .../goose/src/agents/platform_extensions/summon.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 + ); + } } }