# Summon Extension

> Load sources and delegate tasks to subagents

- 网址：https://funcoding.ai/agents/goose/mcp/summon-mcp/
- 来源：goose 官方文档原文（英文），Apache-2.0 许可，同步于 2026-10-11
- 官方原文：https://goose-docs.ai/docs/mcp/summon-mcp

---
The Summon extension lets you load reusable task sources into goose's context and delegate work to [subagents](https://funcoding.ai/agents/goose/guides/context-engineering/subagents/).

You can load different types of sources:
- [**Recipes**](https://funcoding.ai/agents/goose/guides/recipes/) - Automated task definitions with prompts and parameters
- **Agents** - Reusable agent definitions stored in agent directories
- **Subrecipes** - Recipe-local tasks available from the current recipe

This is useful when you want goose to reuse a task definition, hand work to another agent, or run read-only research in parallel. Skills are loaded by the separate [Skills platform extension](https://funcoding.ai/agents/goose/guides/context-engineering/using-skills/).

<div class="callout callout-note">

This extension is available in v1.25.0+.

</div>

## Configuration

**goose Desktop**

**goose CLI**

1. Run the `configure` command:
```sh
goose configure
```

2. Choose to `Toggle Extensions`
```sh
┌   goose-configure 
│
◇  What would you like to configure?
│  Toggle Extensions 
│
◆  Enable extensions: (use "space" to toggle and "enter" to submit)
// highlight-start    
│  ● summon
// highlight-end  
└  Extension settings updated successfully
```

## Example Usage

In this example, we'll create a reusable recipe and use Summon to delegate it to a subagent.

### Create a Recipe

```yaml title=".agents/recipes/release-notes.yaml"
title: Release Notes
description: Draft release notes from recent git changes
instructions: |
  Review the recent git history and changed files.
  Write concise release notes with:
  - user-facing changes
  - fixes
  - migration notes, if any
prompt: Draft release notes for the current branch.
```

### goose Prompt

```
Use summon to delegate the release-notes recipe for this branch.
```

### goose Output

```
─── delegate | summon ───────────────────────────────────────
source: release-notes

The release-notes subagent reviewed the branch and drafted release notes:

## User-facing changes
- Added support for configuring project-specific extensions.
- Improved error messages when extension startup fails.

## Fixes
- Fixed stale extension state after disabling an extension.
```

## Common Summon Commands

Ask goose to use Summon in natural language, or call the tools directly:

```text
load()
load(source: "release-notes")
delegate(source: "release-notes")
delegate(instructions: "Review these docs and report stale links")
```

Calling `load()` with no arguments lists available sources. `delegate` waits for the subagent to finish and returns its result.
