Skip to main content

Smart Extension Recommendation

The Smart Extension Recommendation system in Goose automatically identifies and suggests relevant extensions based on your tasks and needs. This guide explains how to use this feature effectively and understand its capabilities and limitations.

When you request a task, Goose checks its enabled extensions and their tools to determine if it can fulfill the request. If not, it suggests or enables additional extensions as needed. You can also request specific extensions by name.

warning

Any extensions enabled dynamically are only enabled for the current session. To keep extensions enabled between sessions, follow the Using Extensions guide.

Automatic Detection

Goose automatically detects when an extension is needed based on your task requirements. Here's an example of how Goose identifies and enables a needed extension during a conversation:

Goose Prompt

Find all orders with pending status from our production database

Goose Output

I'll help you search for available extensions that might help us interact with PostgreSQL databases.

🔍 Search Available Extensions
└─ Output ▼

I see there's a PostgreSQL extension available. Let me enable it so we can query your database.

🔧 Manage Extensions
└─ action enable
extension_name postgresql

The extension 'postgresql' has been installed successfully

Great! Now I can help you query the database...

Direct Request

Goose responds to explicit requests for extensions, allowing users to manually enable specific tools they need. Here's an example of how Goose handles a direct request to enable an extension:

Goose Prompt

Use PostgreSQL extension

Goose Output

I'll help enable the PostgreSQL extension for you.

🔧 Manage Extensions
└─ action enable
extension_name postgresql

The extension 'postgresql' has been installed successfully

The PostgreSQL extension is now ready to use. What would you like to do with it?