From e8247e283a8b6b9447f06f4c342f9bad9b07579f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 13 Jan 2026 19:06:13 -0500 Subject: [PATCH] fix: Recipe slash command doesn't work with single optional parameter (#6235) Co-authored-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com> Co-authored-by: David Katz --- crates/goose/src/recipe/build_recipe/mod.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/crates/goose/src/recipe/build_recipe/mod.rs b/crates/goose/src/recipe/build_recipe/mod.rs index c42aeb81..e1716651 100644 --- a/crates/goose/src/recipe/build_recipe/mod.rs +++ b/crates/goose/src/recipe/build_recipe/mod.rs @@ -94,10 +94,15 @@ where .parameters; let param_pairs: Vec<(String, String)> = if let Some(recipe_params) = &recipe_parameters { - if params.len() < recipe_params.len() { - let param_keys: Vec = recipe_params.iter().map(|p| p.key.clone()).collect(); + let required_count = recipe_params.iter().filter(|p| p.default.is_none()).count(); + if params.len() < required_count { + let required_keys: Vec = recipe_params + .iter() + .filter(|p| p.default.is_none()) + .map(|p| p.key.clone()) + .collect(); return Err(RecipeError::MissingParams { - parameters: param_keys, + parameters: required_keys, }); } recipe_params