Skip to main content
Recipes are YAML files that define automated workflows for goose. They allow you to parameterize tasks, compose complex workflows, and share common patterns.

What are Recipes?

Recipes package instructions, parameters, and extension requirements into a reusable format:

Parameters

Define inputs with types, defaults, and validation

Instructions

Template-driven instructions with Jinja2

Extensions

Specify required tools and capabilities

Running Recipes

From a File

Goose will prompt for required parameters:

With Parameter Values

Provide parameters directly:

From GitHub

Run recipes from repositories:
Goose downloads and caches the recipe automatically.

From URL

Fetch recipes from any URL:

Recipe Structure

Basic Fields

string
required
Unique identifier for the recipe
string
Semantic version (e.g., “1.2.0”)
string
Human-readable description of what the recipe does
string
required
Template-driven instructions using Jinja2 syntax

Parameters

array
List of input parameters
string
required
Parameter name (alphanumeric + underscores)
string
required
Parameter type: string, integer, boolean, float, array, or object
string
Human-readable description
boolean
default:"false"
Whether the parameter is required
any
Default value if not provided

Extensions

array
Required MCP extensions for this recipe
string
required
Extension type: builtin, stdio, or sse
string
required
Extension name or identifier
For stdio and sse extensions, additional fields like command, args, and env can be specified.

Templating with Jinja2

Recipe instructions support Jinja2 templating:

Variable Substitution

Conditionals

Loops

Filters

Available filters: lower, upper, title, capitalize, replace, trim, default

Sub-Recipes

Compose complex workflows from smaller recipes:
Sub-recipes execute sequentially and can pass data between stages.

Response Schemas

Define structured output formats:
Goose will validate the agent’s output against the schema and retry if invalid.

Real-World Recipe Examples

Web Scraper

Database Migration

CI/CD Pipeline

Recipe Management

Listing Recipes

View cached recipes:

Validating Recipes

Check recipe syntax:
Generate shareable URLs:
Outputs a URL that others can use to run the recipe directly.

Programmatic Recipe Execution

REST API

Agent Client Protocol (ACP)

Execute recipes via ACP:

Next Steps

Recipes Concept

Deep dive into recipe architecture and composition

Recipe Command

CLI reference for recipe commands

Extensions

Learn how to specify and use extensions in recipes

Sub-recipes

Build complex multi-stage workflows