goose icon indicating copy to clipboard operation
goose copied to clipboard

Enable/Disable Platform tools

Open gzuuus opened this issue 8 months ago • 3 comments

Please explain the motivation behind the feature request. I've noticed that from the last updates goose now includes some built-in tools that cannot be disabled platform__search_available_extensions and platform__enable_extension This is something confusing because I cant see them beign enabled, and how to disable them.

Describe the solution you'd like Enable/disable platform tools like any other tool

Additional context My LLM was getting confused with these tools and I haven't found the way to disable them.

  • [x] I have verified this does not duplicate an existing feature request

gzuuus avatar Apr 24 '25 08:04 gzuuus

Hi @gzuuus, why would you need to disable them? These tools are built in to assist with extensions, so might you have triggered them by asking about extensions?

wendytang avatar Apr 24 '25 23:04 wendytang

Hey! Thank you for your response. There are several reasons why I would like the ability to enable or disable the platform tools. First, it allows for better control over what I am executing. Additionally, regarding the context window, if these tools are always enabled and cannot be disabled, they are injected every time I send a message to the models. While this may be negligible for larger models, it can be distracting for smaller ones.

Moreover, there is some overlap in names and descriptions with other MCP servers I am using and developing, which is annoying since it confuse the models about which tools to utilize. Finally, not all users require this assistance, so it would be beneficial to have the option to disable these tools

gzuuus avatar Apr 25 '25 10:04 gzuuus

I would like to support this proposal!

The motivation behind being able to toggle Platform tools ON/OFF is rooted in several key benefits:

  • Increased Agent Controllability: Providing the ability to disable these tools would offer users greater control over the Agent's actions and prevent it from unnecessarily searching for or managing extensions in contexts where such operations are not desired or relevant.
  • Context Compression: By removing unused tools from the Agent's operational scope, we can potentially reduce the cognitive load and context window size for the LLM, leading to more efficient and focused reasoning.
  • Enhanced Security: In certain environments or for specific tasks, limiting the Agent's ability to discover and manipulate extensions can reduce potential security risks, especially if the extensions involve sensitive operations like shell or filesystem access.

One of Goose's significant attractions, in my opinion, is its dynamic enable/disable capability for built-in tools. For example, even the fundamental developer extension can be explicitly disabled. I highly value the ability to restrict the use of tools like shell or filesystem operations when they are not required for a particular task. Extending similar customization to the Platform tools would align with this philosophy and further enhance Goose's flexibility.

yokonao avatar Jun 09 '25 01:06 yokonao

It's a security issue - goose surprised me - it enabled the developer extension and executed code on localhost, even though I had this extension disabled and had another extension for this purpose - container-use. You advertise on your blog the ability to have isolated containers using container-use, but here we are... Please, at the very least warn people, because I was mislead by your blog post: https://block.github.io/goose/blog/2025/06/19/isolated-development-environments/

xek avatar Aug 29 '25 21:08 xek

I was able to remove the built in developer extension from the extensions list by removing it from the configuration file. By doing that, I hope it won't be automatically enabled for a session. However, given this past experience, I'm not sure whether this is a real solution, since it could be re-added by some Goose automation or future upgrade.

xek avatar Aug 30 '25 16:08 xek

closed by https://github.com/block/goose/pull/5057

zanesq avatar Oct 27 '25 20:10 zanesq