Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions documentation/docs/getting-started/using-extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,15 @@ goose includes several built-in extensions you can start using out of the box:
goose operates autonomously by default. Combined with the Developer extension's tools, this means goose can execute commands and modify files without your approval. If you want more control over this behavior, you can configure the [goose permission mode](/docs/guides/goose-permissions), [tool permissions](/docs/guides/managing-tools/tool-permissions), and [.gooseignore files](/docs/guides/using-gooseignore). See [Configuring Access Controls](/docs/mcp/developer-mcp#configuring-access-controls) for a brief overview.
:::

In addition, these platform extensions provide core goose functionality. They are also always available and enabled by default:
### Built-in Platform Extensions

- Chat Recall: Search conversation content across all your session history
- Extension Manager: Discover, enable, and disable extensions dynamically during sessions
Platform extensions are built-in extensions that provide global features like conversation search, task tracking, and extension management. These extensions are always available, enabled by default, and can be toggled on or off.

- [Chat Recall](/docs/mcp/chatrecall-mcp): Search conversation content across all your session history
- [Extension Manager](/docs/mcp/extension-manager-mcp): Discover, enable, and disable extensions dynamically during sessions
- [Todo](/docs/mcp/todo-mcp): Manage task lists and track progress across sessions

#### Toggling Built-in Extensions
### Toggling Built-in Extensions

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
Expand Down Expand Up @@ -94,7 +96,6 @@ goose's built-in extensions are MCP servers in their own right. If you'd like
to use the MCP servers included with goose with any other agent, you are free to do so.
:::


## Discovering Extensions

goose provides a [central directory][extensions-directory] of extensions that you can install and use.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ In a typical session, the interface spins up an instance of the agent, which the
Extensions expose their functionality to goose through tools. Tools are the functions that allow extensions to perform specific actions, such as running commands, or performing file operations. For example, the Google Drive extension includes a tool for searching documents. That tool is what gives goose the ability to perform that action.


goose comes with a set of [built-in extensions](/docs/getting-started/using-extensions#built-in-extensions), each designed to enhance your interaction. These include tools for development, web scraping, automation, memory, and integrations with JetBrains and Google Drive. goose also supports [connecting to external extensions](/docs/getting-started/using-extensions#adding-extensions) or [creating custom extensions](/docs/tutorials/custom-extensions) as MCP servers.
goose comes with a set of [built-in extensions](/docs/getting-started/using-extensions#built-in-extensions), each designed to enhance your interaction. These include tools for development, web scraping, automation, memory, and more. goose also supports [connecting to external extensions](/docs/getting-started/using-extensions#adding-extensions) or [creating custom extensions](/docs/tutorials/custom-extensions) as MCP servers.

To learn more about the design and implementation of extensions and tools, refer to the [Extensions Design Guide](/docs/goose-architecture/extensions-design#tools).

Expand Down
91 changes: 91 additions & 0 deletions documentation/docs/mcp/chatrecall-mcp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
title: Chat Recall Extension
description: Search conversation history and load session summaries across all your goose sessions
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { PlatformExtensionNote } from '@site/src/components/PlatformExtensionNote';
import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';

The Chat Recall extension helps goose remember past conversations by searching across your session history. When you need context from previous work, goose can search for relevant conversations or load summaries of specific sessions.

goose automatically uses Chat Recall when you reference past work or ask questions that require historical context.

## Configuration

<PlatformExtensionNote/>

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
<GooseBuiltinInstaller
extensionName="Chatrecall"
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The extensionName should be "Chat Recall" (with space and proper casing) to match the naming convention used by other platform extensions like "Extension Manager" and "Todo".

Suggested change
extensionName="Chatrecall"
extensionName="Chat Recall"

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Chatrecall" is the display name in the desktop

description="Search conversation history across all your sessions"
/>
</TabItem>
<TabItem value="cli" label="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
│ ● chatrecall
// highlight-end
└ Extension settings updated successfully
```
</TabItem>
</Tabs>

## Example Usage

Chat Recall can search across all sessions using keywords. Results are grouped by session and ordered by recency, and can be filtered by date. Alternatively, you can provide [session IDs](/docs/guides/goose-cli-commands#session-list-options) to load summaries of specific sessions.

Let's ask goose to find recent conversations about a topic:

### goose Prompt

```
What did we discuss about database migrations last week?
```

### goose Output

:::note Desktop
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wait did you purposely put the entire response in an admonition

Image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes! It's in the template for Desktop output examples

I found discussions about database migrations in your recent sessions. Here's what we covered:

**Database Migration Discussions - Last Week**

#### Session: Fix migration scripts (Nov 26, 2024)
**Working Dir:** /projects/myapp

We debugged a production database migration that was failing with a "column already exists" error. The key points were:

- The migration was trying to add a column that already existed in some environments
- We added conditional logic to check if the column exists before adding it
- Tested the fix locally and committed the changes

#### Session: Database schema updates (Nov 27, 2024)
**Working Dir:** /projects/myapp

We discussed adding email verification functionality:

- Planned to add a new `email_verified` column to the users table
- Discussed whether to make it nullable or default to false
- Created the migration script for the new column

Both sessions were focused on safely updating the database schema in production. Would you like me to load the full details from either of these sessions?
:::

:::info
Compacted sessions from goose versions prior to v1.14.0 may not be searchable due to a change in how conversation history is stored.
:::
9 changes: 4 additions & 5 deletions documentation/docs/mcp/extension-manager-mcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ description: Dynamically discover, enable, and disable extensions during goose s

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { PlatformExtensionNote } from '@site/src/components/PlatformExtensionNote';
import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';

You don't always need to manually manage extensions. The Extension Manager extension enables goose to dynamically discover, enable, and disable extensions during active sessions. Based on the task you give it, goose recognizes when it needs a specific extension, enables it when required, and suggests disabling unused extensions if the bloat is eating up your context window.
Expand All @@ -13,9 +14,7 @@ Simply describe your task, and goose will handle the extension management automa

## Configuration

:::info
The Extension Manager extension is a built-in goose platform extension and is already enabled by default when goose is installed.
:::
<PlatformExtensionNote/>

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
Expand Down Expand Up @@ -85,13 +84,13 @@ The resource tools (`list_resources` and `read_resource`) are only available whe

Let's enable an extension when we need it. In this example, we'll enable the GitHub extension to work with repositories.

#### goose Prompt
### goose Prompt

```
List all my GitHub repositories
```

#### goose Output
### goose Output

:::note Desktop

Expand Down
25 changes: 14 additions & 11 deletions documentation/docs/mcp/i-ching-mcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,26 +40,28 @@ Then click the link above to configure it in goose.

### goose Output

:::note Desktop
I'd be happy to consult the I Ching for guidance on your team's product roadmap decision. Let me cast a hexagram for you using the traditional three coins method.
─── cast_hexagram | iching ──────────────────────────

─── cast_hexagram | iching ──────────────────────────


Now let me get a detailed interpretation of this reading for your situation:
─── interpret_reading | iching ──────────────────────────
changing_lines:
-
5
hexagram: 29
transformed_hexagram: 13

─── interpret_reading | iching ─────────────────────────

changing_lines:
&#45;
5
hexagram: 29
transformed_hexagram: 13


## I Ching Guidance for Your Product Roadmap Decision
#### I Ching Guidance for Your Product Roadmap Decision

The oracle has given you **Hexagram 29 - Darkness (The Abysmal)** with a changing line in the 5th position, transforming to **Hexagram 13 - Seeking Harmony (Fellowship with Men)**.

### Key Insights for Your Team's Situation:
**Key Insights for Your Team's Situation:**

**Current Challenge (Hexagram 29):**
- Your team is facing what the I Ching recognizes as a "repetition of danger" - this suggests you're in a challenging situation that requires careful navigation
Expand All @@ -77,7 +79,7 @@ The situation naturally evolves toward **Fellowship with Men** - suggesting that
- **Open collaboration** rather than closed-door decisions
- **Crossing the great water** - taking on significant challenges, but doing so together

### Practical Recommendations:
**Practical Recommendations:**

1. **Acknowledge the Difficulty**: Don't minimize the complexity of your roadmap decision. Accept that it's genuinely challenging.

Expand All @@ -87,4 +89,5 @@ The situation naturally evolves toward **Fellowship with Men** - suggesting that

4. **Focus on Execution**: Once you decide, commit fully. The hexagram emphasizes that success comes from thorough implementation, not perfect strategy.

The I Ching suggests this challenging decision will ultimately strengthen your team's unity and collaboration if approached with patience, sincerity, and collective wisdom.
The I Ching suggests this challenging decision will ultimately strengthen your team's unity and collaboration if approached with patience, sincerity, and collective wisdom.
:::
9 changes: 4 additions & 5 deletions documentation/docs/mcp/todo-mcp.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
title: Todo Extension
description: Use Todo MCP Server as a goose Extension for Task Management
description: Breaks complex work into trackable steps to help goose stay organized
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { PlatformExtensionNote } from '@site/src/components/PlatformExtensionNote';
import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';

The Todo extension helps goose stay organized by breaking complex work into a series of steps and keeping you updated as it completes each step.
Expand All @@ -13,13 +14,11 @@ goose automatically knows to use the Todo extension if it has to do tasks that h

At the start of the task, goose will create an internal checklist, read and update progress as it works, and verify that all tasks are completed.

This tutorial will cover enabling and using the Todo MCP Server, which is a built-in goose extension.
This tutorial will cover enabling and using the Todo extension.

## Configuration

:::info
The Todo extension is already enabled by default when goose is installed.
:::
<PlatformExtensionNote/>

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
Expand Down
11 changes: 11 additions & 0 deletions documentation/src/components/PlatformExtensionNote.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import React from "react";
import Admonition from '@theme/Admonition';

export const PlatformExtensionNote = () => {

return (
<Admonition type="info" title="Platform Extension">
<p>This is a <a href="/goose/docs/getting-started/using-extensions#built-in-platform-extensions">built-in platform extension</a> that's enabled by default. Platform extensions provide core functionality and are used within goose just like MCP server extensions.</p>
</Admonition>
);
};
Loading