fix: apply subrecipes when using slash commands#6460
Merged
angiejones merged 3 commits intomainfrom Jan 13, 2026
Merged
Conversation
When invoking a recipe via slash command (e.g., /research), the recipe's subrecipes and response schema were not being registered with the agent. This caused 'Unknown subrecipe' errors when the LLM tried to use subrecipes defined in the recipe. The fix adds a call to apply_recipe_components() in handle_recipe_command(), matching the behavior of other recipe invocation paths (CLI, Desktop recipe picker, subagent handler). Fixes the issue where slash command recipes with sub_recipes defined would fail with 'Unknown subrecipe. Available: ' (empty list).
Contributor
There was a problem hiding this comment.
Pull request overview
This PR fixes a bug where subrecipes and response schemas defined in recipes were not being registered when invoking recipes via slash commands (e.g., /research). The fix adds a call to apply_recipe_components() in the slash command handler to match the behavior of other recipe invocation paths (CLI, desktop, subagent).
Changes:
- Added
apply_recipe_components()call inhandle_recipe_command()to register subrecipes and response schemas with the agent before processing the recipe
The-Best-Codes
approved these changes
Jan 13, 2026
fbalicchia
pushed a commit
to fbalicchia/goose
that referenced
this pull request
Jan 13, 2026
zanesq
added a commit
that referenced
this pull request
Jan 13, 2026
…ased * 'main' of github.com:block/goose: (23 commits) Use Intl.NumberFormat for token formatting in SessionsInsights (#6466) feat(ui): format large and small token counts for readability (#6449) fix: apply subrecipes when using slash commands (#6460) Fix: exclude platform_schedule_tool in CLI (#6442) Fix: Small update in how ML-based prompt injection determines final result (#6439) docs: remove SSE transport and rename to Streamable HTTP (#6319) fix: correct Cloudinary extension command and env variable (#6453) fix: add gap between buttons in MacDesktopInstallButtons.js (#6452) refactor: include hidden dotfiles folders in file picker search (#6315) upgraded safe npm packages (#6450) chore(deps): bump react-router and react-router-dom in /ui/desktop (#6408) chore(deps): bump lru from 0.12.5 to 0.16.3 (#6379) chore(deps-dev): bump @modelcontextprotocol/sdk from 1.24.0 to 1.25.2 in /ui/desktop (#6375) fix: inconsistent API url requirement between desktop and CLI versions (#6419) feat(vertexai): Add streaming support (#6409) fix deeplink recipe launch cold start (#6210) Spell check setting (#6446) File bug directly (#6413) fix(cli): incorrect bin name in shell completions (#6444) Use crunchy from crates instead of git fork (#6415) ...
wpfleger96
added a commit
that referenced
this pull request
Jan 13, 2026
* main: (41 commits) Allow customizing the new line keybinding in the CLI (#5956) Ask for permission in the CLI (#6475) docs: add Ralph Loop tutorial for multi-model iterative development (#6455) Remove gitignore fallback from gooseignore docs (#6480) fix: clean up result recording for code mode (#6343) fix(code_execution): handle model quirks with tool calls (#6352) feat(ui): support prefersBorder option for MCP Apps (#6465) fixed line breaks (#6459) Use Intl.NumberFormat for token formatting in SessionsInsights (#6466) feat(ui): format large and small token counts for readability (#6449) fix: apply subrecipes when using slash commands (#6460) Fix: exclude platform_schedule_tool in CLI (#6442) Fix: Small update in how ML-based prompt injection determines final result (#6439) docs: remove SSE transport and rename to Streamable HTTP (#6319) fix: correct Cloudinary extension command and env variable (#6453) fix: add gap between buttons in MacDesktopInstallButtons.js (#6452) refactor: include hidden dotfiles folders in file picker search (#6315) upgraded safe npm packages (#6450) chore(deps): bump react-router and react-router-dom in /ui/desktop (#6408) chore(deps): bump lru from 0.12.5 to 0.16.3 (#6379) ...
lifeizhou-ap
added a commit
that referenced
this pull request
Jan 14, 2026
* main: fix: require auth when running goose on non loopback address (#6478) chore(deps): bump hono from 4.11.3 to 4.11.4 in /ui/desktop (#6485) feat(cli): graceful fallback for keyring failures (#5808) fix: support global .gooseignore and negation patterns (#6157) docs: manual config for jetbrains (#6490) fix: Recipe slash command doesn't work with single optional parameter (#6235) fix(openrouter): Handle Gemini thoughtSignature for tool calls (#6370) docs: fix extensions page (#6484) Allow customizing the new line keybinding in the CLI (#5956) Ask for permission in the CLI (#6475) docs: add Ralph Loop tutorial for multi-model iterative development (#6455) Remove gitignore fallback from gooseignore docs (#6480) fix: clean up result recording for code mode (#6343) fix(code_execution): handle model quirks with tool calls (#6352) feat(ui): support prefersBorder option for MCP Apps (#6465) fixed line breaks (#6459) Use Intl.NumberFormat for token formatting in SessionsInsights (#6466) feat(ui): format large and small token counts for readability (#6449) fix: apply subrecipes when using slash commands (#6460)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When invoking a recipe via slash command, the recipe's subrecipes and response schema were not being registered with the agent. This caused 'Unknown subrecipe' errors when goose tried to use subrecipes defined in the recipe.
Problem
The
handle_recipe_commandfunction inexecute_commands.rswas only extracting theinstructionsandprompttext from the recipe and returning it as a user message. It never calledapply_recipe_components()to register subrecipes with the agent.This meant that when a recipe defined
sub_recipes, they were completely ignored in the slash command flow.Comparing the different recipe invocation paths:
goose run --recipe)Fix
Added a call to
apply_recipe_components()inhandle_recipe_command()after building the recipe, matching the behavior of other recipe invocation paths.Testing