Skip to main content
The recipe command provides utilities for working with Goose recipes - YAML templates that define custom agent configurations.

Usage

Subcommands

Validate

Validate a recipe file.
Arguments:
string
required
Recipe name or full path to the recipe file to validate.Can be:
  • Recipe name from GitHub (if GOOSE_RECIPE_GITHUB_REPO configured)
  • Local file path to YAML file
Examples:
Output:
Or if invalid:
Generate a deeplink URL for a recipe.
Arguments:
string
required
Recipe name or full path to the recipe file.
Options:
key=value
default:"[]"
Recipe parameter in key=value format. Can be specified multiple times.Short: -pExample: --param username=alice --param channel=goose-team
Examples:
Output:
Use Cases:
  • Share recipe configurations
  • Create bookmarkable workflows
  • Integrate with external tools
  • Pre-fill recipe parameters

Open

Open a recipe in Goose Desktop.
Arguments:
string
required
Recipe name or full path to the recipe file.
Options:
key=value
default:"[]"
Recipe parameter in key=value format. Can be specified multiple times.Short: -p
Examples:
Output:
Or if Desktop not available:

List

List available recipes.
Options:
string
default:"text"
Output format: text or json
boolean
default:"false"
Show verbose information including recipe descriptions.Short: -v
Examples:
Text Output:
Verbose Output:
JSON Output:

Recipe Sources

Recipes can be loaded from:

Local Files

YAML files on your filesystem:

GitHub Repository

If GOOSE_RECIPE_GITHUB_REPO is configured:
Or configure permanently:

Recipe Format

Recipes are YAML files with this structure:

Using Recipes

With Run Command

Execute a recipe:
See: Run Command documentation for details.

With Parameters

Pass parameters to recipes:

Explain Recipe

Show recipe details before running:
Output:

Render Recipe

Print the rendered recipe YAML:
Shows the final YAML with parameters substituted.

Validation

Recipe validation checks:
  • Required fields: title, prompt
  • Schema validation: JSON schema syntax
  • Parameter references: All {{ param }} references exist
  • YAML syntax: Valid YAML structure
  • Type checking: Parameter types match usage
Example errors:

Examples

Create and validate recipe:
Generate deeplink with parameters:
List and filter recipes:
Open in Desktop:

Recipe Repository

Configure a GitHub repository for shared recipes:
Then reference recipes by name:
Goose will fetch from: https://github.com/myorg/goose-recipes/recipes/<name>.yaml

See Also