diff --git a/documentation/blog/2025-12-15-code-mode-mcp/index.md b/documentation/blog/2025-12-15-code-mode-mcp/index.md index 5118dd623067..96f1326a7802 100644 --- a/documentation/blog/2025-12-15-code-mode-mcp/index.md +++ b/documentation/blog/2025-12-15-code-mode-mcp/index.md @@ -33,7 +33,7 @@ posts. Since the approach and the benefits are clearly laid out in those posts I ## In goose -In v1.17.0 of goose, we've introduced an open source implementation of this idea in a new platform extension called: Code Execution. +In v1.17.0 of goose, we've introduced an open source implementation of this idea in a new platform extension called: Code Mode. Our implementation generates a JavaScript interface representing the connected MCP tools and then lets the model write code to run against it in [boa](https://github.com/boa-dev/boa) which is an embeddable JavaScript engine. One neat feature of boa we were able to take advantage of was the concept of [NativeFunction](https://docs.rs/boa_engine/latest/boa_engine/native_function/struct.NativeFunction.html). @@ -47,7 +47,7 @@ MCP server with ease! Our hope is that we improve tool calling performance and handling of large numbers of tools in goose, but also provide an open source implementation of this emerging approach. -* Try out the feature by enabling the ["Code Execution" extension](https://github.com/block/goose/blob/main/crates/goose/src/agents/code_execution_extension.rs) in v1.17.0 or later of goose by clicking extensions on the left side of the desktop app or running `goose configure` on cli +* Try out the feature by enabling the ["Code Mode" extension](https://github.com/block/goose/blob/main/crates/goose/src/agents/platform_extensions/code_execution.rs) in v1.17.0 or later of goose by clicking extensions on the left side of the desktop app or running `goose configure` on cli * Please give us feedback on how it works for you by joining our [discord](https://discord.gg/goose-oss). Kudos to my colleague [Mic Neale](https://github.com/michaelneale) for collaborating with me on the implementation! diff --git a/documentation/blog/2025-12-21-code-mode-doesnt-replace-mcp/index.md b/documentation/blog/2025-12-21-code-mode-doesnt-replace-mcp/index.md index d9123bc2f9cb..c36c8d2154a2 100644 --- a/documentation/blog/2025-12-21-code-mode-doesnt-replace-mcp/index.md +++ b/documentation/blog/2025-12-21-code-mode-doesnt-replace-mcp/index.md @@ -37,7 +37,7 @@ When the concept of Code Mode landed on socials, many people claimed it was a re ### How goose Implemented Code Mode -[goose](/) took a unique approach by making [Code Mode](/blog/2025/12/15/code-mode-mcp) itself an extension called the Code Execution extension. When active, it wraps your other extensions and exposes them as JavaScript modules, allowing the LLM to see only three tools instead of eighty. +[goose](/) took a unique approach by making [Code Mode](/blog/2025/12/15/code-mode-mcp) itself an extension called the Code Mode extension. When active, it wraps your other extensions and exposes them as JavaScript modules, allowing the LLM to see only three tools instead of eighty. When the agent needs to perform a complex task, it writes a script that looks something like this: @@ -103,7 +103,7 @@ Code Mode helps us take a step forward in building agents that can scale to hand --- -*Ready to try Code Mode? Enable the "Code Execution" extension in [goose](/docs/quickstart) v1.17.0 or later. Join our [Discord](https://discord.gg/goose-oss) to share your experience!* +*Ready to try Code Mode? Enable the "Code Mode" extension in [goose](/docs/quickstart) v1.17.0 or later. Join our [Discord](https://discord.gg/goose-oss) to share your experience!*
diff --git a/documentation/blog/2026-02-06-8-things-you-didnt-know-about-code-mode/index.md b/documentation/blog/2026-02-06-8-things-you-didnt-know-about-code-mode/index.md index de5cae4f5df6..8de87f755eea 100644 --- a/documentation/blog/2026-02-06-8-things-you-didnt-know-about-code-mode/index.md +++ b/documentation/blog/2026-02-06-8-things-you-didnt-know-about-code-mode/index.md @@ -27,12 +27,12 @@ Code Mode wraps your MCP tools as JavaScript modules, allowing the agent to comb ## 2. goose Supports Code Mode -Code Mode support landed in goose v1.17.0 in December 2025. It ships as a platform extension called "Code Execution" that you can enable in the desktop app or CLI. +Code Mode support landed in goose v1.17.0 in December 2025. It ships as a platform extension called "Code Mode" that you can enable in the desktop app or CLI. To enable it: -- **Desktop app:** Click the extensions icon and toggle on "Code Execution" -- **CLI:** Run `goose configure` and enable the Code Execution extension +- **Desktop app:** Click the extensions icon and toggle on "Code Mode" +- **CLI:** Run `goose configure` and enable the Code Mode extension Since its initial implementation, we've added so many improvements! diff --git a/documentation/docs/getting-started/using-extensions.md b/documentation/docs/getting-started/using-extensions.md index 1d3263e0f390..e58fb6a59500 100644 --- a/documentation/docs/getting-started/using-extensions.md +++ b/documentation/docs/getting-started/using-extensions.md @@ -37,10 +37,11 @@ Platform extensions are built-in extensions that provide global features like co - [Apps](/docs/mcp/apps-mcp): Create, manage, and launch custom HTML apps in standalone windows - [Chat Recall](/docs/mcp/chatrecall-mcp): Search conversation content across all your session history -- [Code Execution](/docs/mcp/code-execution-mcp): Execute JavaScript code for tool discovery and tool calling +- [Code Mode](/docs/mcp/code-mode-mcp): Execute JavaScript code for tool discovery and tool calling - [Extension Manager](/docs/mcp/extension-manager-mcp): Discover, enable, and disable extensions dynamically during sessions (enabled by default) - [Summon](/docs/mcp/summon-mcp): Load skills and recipes, and delegate tasks to subagents (enabled by default) - [Todo](/docs/mcp/todo-mcp): Manage task lists and track progress across sessions (enabled by default) +- [Top of Mind](/docs/mcp/tom-mcp): Inject persistent instructions into goose's working memory every turn ### Toggling Built-in Extensions diff --git a/documentation/docs/guides/managing-tools/code-mode.md b/documentation/docs/guides/managing-tools/code-mode.md index 4db2c26415ea..49883b3ff291 100644 --- a/documentation/docs/guides/managing-tools/code-mode.md +++ b/documentation/docs/guides/managing-tools/code-mode.md @@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem'; Code Mode is a method of interacting with MCP tools programmatically instead of calling them directly. Code Mode is particularly useful when working with many enabled extensions, as it can help manage context window usage more efficiently. :::info -This functionality requires the built-in [Code Execution extension](/docs/mcp/code-execution-mcp) to be enabled. +This functionality requires the built-in [Code Mode extension](/docs/mcp/code-mode-mcp) to be enabled. ::: Code Mode controls how tools are discovered and called: @@ -21,7 +21,7 @@ Code Mode controls how tools are discovered and called: ## How Code Mode Works -The [Code Execution extension](/docs/mcp/code-execution-mcp) is an MCP server that uses the MCP protocol to expose three foundational meta-tools. When Code Execution is enabled, goose switches to Code Mode. For every request, the LLM writes JavaScript code that goose runs in a sandbox environment to: +The [Code Mode extension](/docs/mcp/code-mode-mcp) is an MCP server that uses the MCP protocol to expose three foundational meta-tools. When Code Mode is enabled, goose switches to Code Mode. For every request, the LLM writes JavaScript code that goose executes using [pctx (Port of Context)](https://github.com/AdrianCole/pctx), a custom Deno-based runtime, to: - Discover available tools from your enabled extensions (if needed) - Learn how to work with the tools it needs for the current task - Call those tools programmatically to complete the task @@ -32,7 +32,7 @@ Traditional MCP tool calling and Code Mode are two different approaches to the s | Aspect | Traditional | Code Mode | |--------|------------------|-----------| -| **Tool Discovery** | All tools from enabled extensions, for example: