Skip to main content
Goose’s extension system allows you to add custom tools and capabilities to your AI agent through the Model Context Protocol (MCP). Extensions can be built-in, command-line (stdio), or remote (HTTP).

Extension Types

Built-in Extensions

Built-in extensions are bundled with Goose and provide core functionality:
  • developer - Code editing and shell access
  • autovisualiser - Data visualization and UI generation
  • computercontroller - Web scraping, file caching, and automation
  • memory - Persistent memory storage and retrieval
  • tutorial - Interactive tutorials and guides

Stdio Extensions

Stdio extensions run as local command-line processes that communicate over stdin/stdout using the MCP protocol.

Streamable HTTP Extensions

Remote extensions communicate over HTTP using MCP Streamable HTTP protocol.

Configuration

Extensions are configured in your ~/.config/goose/config.yaml file:

Using Extensions

In CLI Sessions

Enable extensions for a session:

In Configuration

Add extensions interactively:
Toggle enabled extensions:

Extension Discovery

Goose discovers extension tools automatically through the MCP protocol. Each extension exposes:
  • Tools - Functions the AI can call
  • Resources - Data the extension can provide
  • Prompts - Pre-defined instruction templates
The AI agent can see and use all tools from enabled extensions.

Environment Variables

Extensions can use environment variables for configuration:
Secrets are stored securely in your system keyring.

Timeouts

Set custom timeouts for long-running operations:
In config:
Default timeout is 120 seconds.

Container Support

Run extensions inside Docker containers:
The extension must be available inside the container. For built-in extensions, Goose must be installed in the container.

See Also