chore(aaif): rename a bunch of repository references (#8152)

Signed-off-by: Michael Neale <michael.neale@gmail.com>
Co-authored-by: Michael Neale <michael.neale@gmail.com>

continuing migration to aaif
This commit is contained in:
Jack Amadeo
2026-04-07 01:34:48 -04:00
committed by GitHub
parent 0b080faad5
commit 583acd4335
236 changed files with 1097 additions and 962 deletions
@@ -11,7 +11,7 @@ authors:
I'm a developer at heart, so when I'm working on a personal project, the hardest part isn't writing code—it's making design decisions. I recently built a calendar user interface. I wanted to enhance its visual appeal, so I researched UI design trends like "glassmorphism" and "claymorphism."
However, I didn't want to spend hours implementing the CSS for each design trend, so I developed a faster approach: screenshot-driven development. I used an open source developer agent called [goose](https://github.com/block/goose) to transform my user interfaces quickly.
However, I didn't want to spend hours implementing the CSS for each design trend, so I developed a faster approach: screenshot-driven development. I used an open source developer agent called [goose](https://github.com/aaif-goose/goose) to transform my user interfaces quickly.
<!-- truncate -->
@@ -205,7 +205,7 @@ export ANTHROPIC_API_KEY=your_api_key
```
### Step 4: Enable the Screen toolkit
goose uses [toolkits](https://block.github.io/goose/plugins/plugins.html) to extend its capabilities. The [screen](https://block.github.io/goose/plugins/available-toolkits.html#6-screen-toolkit) toolkit lets goose take and analyze screenshots.
goose uses [toolkits](https://goose-docs.ai/plugins/plugins.html) to extend its capabilities. The [screen](https://goose-docs.ai/plugins/available-toolkits.html#6-screen-toolkit) toolkit lets goose take and analyze screenshots.
To enable the Screen toolkit, add it to your goose profile at ~/.config/goose/profiles.yaml.
@@ -281,17 +281,17 @@ Developing user interfaces is a blend of creativity and problem-solving. And I l
Beyond prototyping, goose's ability to analyze screenshots can help developers identify and resolve UI bugs.
If you're interested in learning more, check out the [goose repo](https://github.com/block/goose) and join our [Discord community](https://discord.gg/goose-oss).
If you're interested in learning more, check out the [goose repo](https://github.com/aaif-goose/goose) and join our [Discord community](https://discord.gg/goose-oss).
<head>
<meta property="og:title" content="Screenshot-Driven Development" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2024/11/22/screenshot-driven-development" />
<meta property="og:url" content="https://goose-docs.ai/blog/2024/11/22/screenshot-driven-development" />
<meta property="og:description" content="AI Agent uses screenshots to assist in styling." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/screenshot-driven-development-4ed1beaa10c6062c0bf87e2d27590ad6.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/screenshot-driven-development-4ed1beaa10c6062c0bf87e2d27590ad6.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Screenshot-Driven Development" />
<meta name="twitter:description" content="AI Agent uses screenshots to assist in styling." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/screenshot-driven-development-4ed1beaa10c6062c0bf87e2d27590ad6.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/screenshot-driven-development-4ed1beaa10c6062c0bf87e2d27590ad6.png" />
</head>
@@ -47,18 +47,18 @@ goose now has an electron-based GUI macOS application that provides and alternat
goose v1.0 Beta now uses a custom protocol, that is designed in parallel with [Anthropics Model Context Protocol](https://www.anthropic.com/news/model-context-protocol) (MCP) to communicate with Systems. This makes it possible for developers to create their own systems (e.g Jira, ) that Goose can integrate with.
Excited for many more feature updates and improvements? Stay tuned for more updates on Goose! Check out the [goose repo](https://github.com/block/goose) and join our [Discord community](https://discord.gg/goose-oss).
Excited for many more feature updates and improvements? Stay tuned for more updates on Goose! Check out the [goose repo](https://github.com/aaif-goose/goose) and join our [Discord community](https://discord.gg/goose-oss).
<head>
<meta property="og:title" content="Previewing Goose v1.0 Beta" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2024/12/06/previewing-goose-v10-beta" />
<meta property="og:url" content="https://goose-docs.ai/blog/2024/12/06/previewing-goose-v10-beta" />
<meta property="og:description" content="AI Agent uses screenshots to assist in styling." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-v1.0-beta-5d469fa73edea37cfccfe8a8ca0b47e2.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-v1.0-beta-5d469fa73edea37cfccfe8a8ca0b47e2.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Screenshot-Driven Development" />
<meta name="twitter:description" content="AI Agent uses screenshots to assist in styling." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-v1.0-beta-5d469fa73edea37cfccfe8a8ca0b47e2.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-v1.0-beta-5d469fa73edea37cfccfe8a8ca0b47e2.png" />
</head>
@@ -22,7 +22,7 @@ This post was written about a beta version of goose and the commands and flow ma
Anthropic is leading the charge with the [Model Context Protocol (MCP)](https://modelcontextprotocol.io), an open standard that enables large language model (LLM) applications to connect with external systems, providing the necessary context for more informed and relevant AI interactions.
This is a game changer for AI agents such as [goose](https://block.github.io/goose/), which can perform tasks autonomously - a significant leap beyond chatbots that only provide step-by-step instructions. However, to unlock the full potential of these AI agents, we need a standard method for connecting them to external data sources. MCP provides this foundation.
This is a game changer for AI agents such as [goose](https://goose-docs.ai/), which can perform tasks autonomously - a significant leap beyond chatbots that only provide step-by-step instructions. However, to unlock the full potential of these AI agents, we need a standard method for connecting them to external data sources. MCP provides this foundation.
With MCP's standardized APIs and endpoints, goose can integrate seamlessly into your systems, enhancing its ability to perform complex tasks like debugging, writing code, and running commands directly in your environment.
@@ -30,7 +30,7 @@ With MCP's standardized APIs and endpoints, goose can integrate seamlessly into
### What's Possible
Without MCP, every [goose toolkit](https://block.github.io/goose/plugins/using-toolkits.html) developer would need to implement bespoke integrations with every system they need to connect to. Not only is this tedious and repetitive, but it delays the fun stuff.
Without MCP, every [goose toolkit](https://goose-docs.ai/plugins/using-toolkits.html) developer would need to implement bespoke integrations with every system they need to connect to. Not only is this tedious and repetitive, but it delays the fun stuff.
Let's take a simple GitHub workflow, for example. goose interacts directly with the GitHub API using custom scripts or configurations. Developers must configure goose to authenticate with GitHub and specify endpoints for actions like fetching open pull requests or adding comments. Each integration requires manual setup and custom coding to handle authentication tokens, error handling, and API updates.
@@ -38,7 +38,7 @@ MCP simplifies the process by providing a standardized interface for accessing G
### Join the Ecosystem
As MCP adoption expands, so does gooses potential to deliver even more powerful solutions for your organization. By [integrating goose](https://block.github.io/goose/) into your workflows and [embracing MCP](https://modelcontextprotocol.io/introduction), youre not just enhancing your own systems, youre contributing to the growth of an ecosystem that makes AI tools more interoperable, efficient, and impactful.
As MCP adoption expands, so does gooses potential to deliver even more powerful solutions for your organization. By [integrating goose](https://goose-docs.ai/) into your workflows and [embracing MCP](https://modelcontextprotocol.io/introduction), youre not just enhancing your own systems, youre contributing to the growth of an ecosystem that makes AI tools more interoperable, efficient, and impactful.
@@ -54,18 +54,18 @@ As MCP adoption expands, so does gooses potential to deliver even more powerf
<meta name="description" content="Learn how MCP standardizes integrations and fosters an ecosystem for the future of AI-enabled tools." />
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://block.github.io/goose/blog/2024/12/10/connecting-ai-agents-to-your-systems-with-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2024/12/10/connecting-ai-agents-to-your-systems-with-mcp" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Connecting AI Agents to Your Systems with MCP" />
<meta property="og:description" content="Learn how MCP standardizes integrations and fosters an ecosystem for the future of AI-enabled tools." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-mcp-34a5252d18d18dff26157d673f7af779.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-mcp-34a5252d18d18dff26157d673f7af779.png" />
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io" />
<meta property="twitter:url" content="https://block.github.io/goose/blog/2024/12/10/connecting-ai-agents-to-your-systems-with-mcp" />
<meta property="twitter:domain" content="aaif-goose.github.io" />
<meta property="twitter:url" content="https://goose-docs.ai/blog/2024/12/10/connecting-ai-agents-to-your-systems-with-mcp" />
<meta name="twitter:title" content="Connecting AI Agents to Your Systems with MCP" />
<meta name="twitter:description" content="Learn how MCP standardizes integrations and fosters an ecosystem for the future of AI-enabled tools." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-mcp-34a5252d18d18dff26157d673f7af779.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-mcp-34a5252d18d18dff26157d673f7af779.png" />
</head>
@@ -162,12 +162,12 @@ Try it out, and let goose handle the heavy lifting of CI debugging for you!
<head>
<meta property="og:title" content="Resolving CI Issues with goose: A Practical Walkthrough" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2024/12/11/resolving-ci-issues-with-goose-a-practical-walkthrough" />
<meta property="og:url" content="https://goose-docs.ai/blog/2024/12/11/resolving-ci-issues-with-goose-a-practical-walkthrough" />
<meta property="og:description" content="Leverage goose to simplify your CI debugging process, fetch detailed information about failed CI runs & annotations directly from GitHub, and even apply fixes directly." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-github-ci-30930008ab57b0aebae15a03c73a12b5.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-github-ci-30930008ab57b0aebae15a03c73a12b5.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Resolving CI Issues with goose: A Practical Walkthrough" />
<meta name="twitter:description" content="Leverage goose to simplify your CI debugging process, fetch detailed information about failed CI runs & annotations directly from GitHub, and even apply fixes directly." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-github-ci-30930008ab57b0aebae15a03c73a12b5.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-github-ci-30930008ab57b0aebae15a03c73a12b5.png" />
</head>
@@ -16,7 +16,7 @@ Powered by your choice of [large language models (LLMs)](/docs/getting-started/p
You can think of goose as an assistant that is ready to take your instructions, and do the work for you.
While goose's first use cases are engineering focused, the community has been exploring other non-engineering use cases for goose as well. And it goes without saying, goose is [open source](https://github.com/block/goose) 🎉.
While goose's first use cases are engineering focused, the community has been exploring other non-engineering use cases for goose as well. And it goes without saying, goose is [open source](https://github.com/aaif-goose/goose) 🎉.
## How goose Works
@@ -52,7 +52,7 @@ You can get started using goose right away! Check out our [Quickstart](/docs/qui
Excited for upcoming features and events? Be sure to connect with us!
- [GitHub](https://github.com/block/goose)
- [GitHub](https://github.com/aaif-goose/goose)
- [Discord](https://discord.gg/goose-oss)
- [YouTube](https://www.youtube.com/@goose-oss)
- [LinkedIn](https://www.linkedin.com/company/goose-oss)
@@ -60,18 +60,18 @@ Excited for upcoming features and events? Be sure to connect with us!
- [BlueSky](https://bsky.app/profile/opensource.block.xyz)
[extensions-directory]: https://block.github.io/goose/v1/extensions
[extensions-directory]: https://goose-docs.ai/v1/extensions
<head>
<meta property="og:title" content="Introducing codename goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2024/12/11/resolving-ci-issues-with-goose-a-practical-walkthrough" />
<meta property="og:url" content="https://goose-docs.ai/blog/2024/12/11/resolving-ci-issues-with-goose-a-practical-walkthrough" />
<meta property="og:description" content="codename goose is your open source AI agent, automating engineering tasks and improving productivity." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/introducing-codename-goose-89cac25816e0ea215dd47d4b9768c8ab.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/introducing-codename-goose-89cac25816e0ea215dd47d4b9768c8ab.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Introducing codename goose" />
<meta name="twitter:description" content="codename goose is your open source AI agent, automating engineering tasks and improving productivity." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/introducing-codename-goose-89cac25816e0ea215dd47d4b9768c8ab.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/introducing-codename-goose-89cac25816e0ea215dd47d4b9768c8ab.png" />
</head>
@@ -149,12 +149,12 @@ Hopefully this has provided clear insight into what are AI agents, how they work
<head>
<meta property="og:title" content="Agentic AI and the MCP Ecosystem" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/02/17/agentic-ai-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/02/17/agentic-ai-mcp" />
<meta property="og:description" content="A 101 introduction to AI Agents" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/agentic-ai-with-mcp-1e3050cc8d8ae7a620440e871ad9f0d2.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/agentic-ai-with-mcp-1e3050cc8d8ae7a620440e871ad9f0d2.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Agentic AI and the MCP Ecosystem" />
<meta name="twitter:description" content="A 101 introduction to AI Agents" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/agentic-ai-with-mcp-1e3050cc8d8ae7a620440e871ad9f0d2.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/agentic-ai-with-mcp-1e3050cc8d8ae7a620440e871ad9f0d2.png" />
</head>
@@ -34,12 +34,12 @@ Hopefully this contribution inspired you as much as it inspired our community. I
<head>
<meta property="og:title" content="Let A Team of AI Agents Do It For You" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/02/17/gooseteam-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/02/17/gooseteam-mcp" />
<meta property="og:description" content="Community Spotlight on Cliff Hall's gooseTeam MCP server." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/gooseteam-mcp-082fa2890c313519c2a1637ca979c219.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/gooseteam-mcp-082fa2890c313519c2a1637ca979c219.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Let A Team of AI Agents Do It For You" />
<meta name="twitter:description" content="Community Spotlight on Cliff Hall's gooseTeam MCP server." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/gooseteam-mcp-082fa2890c313519c2a1637ca979c219.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/gooseteam-mcp-082fa2890c313519c2a1637ca979c219.png" />
</head>
@@ -86,12 +86,12 @@ By following these tips, you'll be able to work more effectively with goose, get
<head>
<meta property="og:title" content="6 Essential Tips for Working with goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/06/goose-tips" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/06/goose-tips" />
<meta property="og:description" content="Practical tips to help you use goose more effectively and efficiently." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-tips-4add28cc7201737dfb468ad11980f070.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-tips-4add28cc7201737dfb468ad11980f070.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="6 Essential Tips for Working with goose" />
<meta name="twitter:description" content="Practical tips to help you use goose more effectively and efficiently." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-tips-4add28cc7201737dfb468ad11980f070.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-tips-4add28cc7201737dfb468ad11980f070.png" />
</head>
@@ -38,12 +38,12 @@ For those eager to experiment with [VOYP](https://github.com/paulotaylor/voyp-mc
<head>
<meta property="og:title" content="Wild goose Case: Automating Phone Calls with goose and VOYP" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/06/goose-tips" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/06/goose-tips" />
<meta property="og:description" content="Give goose the ability to make phone calls with the VOYP extension." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-voyp-215f3391cfbe2132542a2be63db84999.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-voyp-215f3391cfbe2132542a2be63db84999.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Wild goose Case: Automating Phone Calls with goose and VOYP" />
<meta name="twitter:description" content="Give goose the ability to make phone calls with the VOYP extension." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-voyp-215f3391cfbe2132542a2be63db84999.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-voyp-215f3391cfbe2132542a2be63db84999.png" />
</head>
@@ -12,7 +12,7 @@ In our previous episode of [goose Flight School](https://www.youtube.com/playlis
<!--truncate-->
# How It Works
[Extensions](https://block.github.io/goose/docs/getting-started/using-extensions) enhance goose's functionality by connecting with your existing tools and workflows. They add new features, access external data resources, and integrate with other systems. Learn how multiple extensions, including Figma and Developer, worked together seamlessly to dramatically accelerate development.
[Extensions](https://goose-docs.ai/docs/getting-started/using-extensions) enhance goose's functionality by connecting with your existing tools and workflows. They add new features, access external data resources, and integrate with other systems. Learn how multiple extensions, including Figma and Developer, worked together seamlessly to dramatically accelerate development.
# Live Tutorial: goose Builds Live
During the livestream, Adewale demonstrated step-by-step how goose handled each development phase, from creating the basic application structure to generating responsive layouts using Tailwind CSS. Adewale also highlighted how goose addresses potential limitations as you go, showcasing the powerful balance between the goose's automation and developer control.
@@ -27,19 +27,19 @@ Throughout the stream, Adewale shared valuable tips to prepare your design for g
* make sure you thoroughly test for functionality and responsiveness
# Getting Started with goose and Figma
Whether you're a designer wanting to rapidly turn concepts into working code or a developer curious about streamlining design implementation, you can download goose with its built-in [Developer extension](https://block.github.io/goose/docs/getting-started/installation) and add the [Figma extension](https://block.github.io/goose/v1/extensions/).
Whether you're a designer wanting to rapidly turn concepts into working code or a developer curious about streamlining design implementation, you can download goose with its built-in [Developer extension](https://goose-docs.ai/docs/getting-started/installation) and add the [Figma extension](https://goose-docs.ai/v1/extensions/).
For step-by-step instructions, check out the [Figma tutorial](/docs/mcp/figma-mcp).
<head>
<meta property="og:title" content="goose Flight School: Turn Figma Designs Into Code With goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/12/goose-figma-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/12/goose-figma-mcp" />
<meta property="og:description" content="Give goose the ability to turn Figma designs into code with the Figma extension." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/goosefigma-e6f84a734bd56cb431bb02452331a5d5.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/goosefigma-e6f84a734bd56cb431bb02452331a5d5.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="goose Flight School: Turn Figma Designs Into Code With goose" />
<meta name="twitter:description" content="Give goose the ability to turn Figma designs into code with the Figma extension." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/goosefigma-e6f84a734bd56cb431bb02452331a5d5.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/goosefigma-e6f84a734bd56cb431bb02452331a5d5.png" />
</head>
@@ -17,9 +17,9 @@ Together, they create a self-contained AI agent workflow that puts advanced capa
# Getting Started
Before diving deep into various capabilities, Rizel walked us through how to set yourself up for success by integrating goose with Ollama. To follow along, you can [download goose](https://block.github.io/goose/) and follow a step-by-step walk through in the [Configure LLM Provider](https://block.github.io/goose/docs/getting-started/providers) guide.
Before diving deep into various capabilities, Rizel walked us through how to set yourself up for success by integrating goose with Ollama. To follow along, you can [download goose](https://goose-docs.ai/) and follow a step-by-step walk through in the [Configure LLM Provider](https://goose-docs.ai/docs/getting-started/providers) guide.
If you have any questions or get stuck, feel free to chat with us on [Discord](https://discord.gg/goose-oss) or post an issue/discussion on [GitHub](https://github.com/block/goose/). Thanks for reading!
If you have any questions or get stuck, feel free to chat with us on [Discord](https://discord.gg/goose-oss) or post an issue/discussion on [GitHub](https://github.com/aaif-goose/goose/). Thanks for reading!
# Why Go Local?
Using cloud-based LLMs and providers make it so you don't need substantial computing resources, so why go local? Here's some benefits you may want to consider:
@@ -88,12 +88,12 @@ The benefits of owning your AI experience can be compelling for a variety of use
<head>
<meta property="og:title" content="Goosing Around: AI, But Make It Local With goose and Ollama" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/13/goose-ollama-local" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/13/goose-ollama-local" />
<meta property="og:description" content="Integrate goose with Ollama for a fully local experience." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/gooseollama-fbb2cb67117c81eaa189a6b6174e6c6c.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/gooseollama-fbb2cb67117c81eaa189a6b6174e6c6c.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Goosing Around: AI, But Make It Local With goose and Ollama" />
<meta name="twitter:description" content="Integrate goose with Ollama for a fully local experience." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/gooseollama-fbb2cb67117c81eaa189a6b6174e6c6c.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/gooseollama-fbb2cb67117c81eaa189a6b6174e6c6c.png" />
</head>
@@ -44,7 +44,7 @@ As developers focus on operational efficiency, researchers can use the analytica
# The Future of AI Observability
These powerful debugging and analysis capabilities are only the beginning. This integration between goose and Langfuse represents a significant step forward in making AI agents as transparent and debuggable as traditional code.
To keep up with the exciting developments as they release, you can check out both of the [goose](https://github.com/block/goose) and [Langfuse](https://github.com/langfuse/langfuse) repositories on GitHub.
To keep up with the exciting developments as they release, you can check out both of the [goose](https://github.com/aaif-goose/goose) and [Langfuse](https://github.com/langfuse/langfuse) repositories on GitHub.
You can also watch the [livestream discussing the goose and Langfuse integration](https://www.youtube.com/live/W39BQjsTS9E?feature=shared), and follow the [tutorial showing you how to integrate Langfuse with goose](/docs/tutorials/langfuse).
@@ -53,12 +53,12 @@ Also, be sure to subscribe to our [events calendar](https://calget.com/c/t7jszri
<head>
<meta property="og:title" content="How goose Catches AI Errors with Langfuse" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/18/goose-langfuse" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/18/goose-langfuse" />
<meta property="og:description" content="Get detailed insights into goose's behavior with Langfuse's observability tools." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/goose_aierrors-22154af884db86789ce1a12a72897e8e.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/goose_aierrors-22154af884db86789ce1a12a72897e8e.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How goose Catches AI Errors with Langfuse" />
<meta name="twitter:description" content="Get detailed insights into goose's behavior with Langfuse's observability tools." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/goose_aierrors-22154af884db86789ce1a12a72897e8e.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/goose_aierrors-22154af884db86789ce1a12a72897e8e.png" />
</head>
@@ -150,12 +150,12 @@ goose is here to make your life easier, so the next time you open up a session,
<head>
<meta property="og:title" content="AI Prompting 101: How to Get the Best Responses from Your AI Agent" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/13/better-ai-prompting" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/13/better-ai-prompting" />
<meta property="og:description" content="How to prompt and vibe code your way to better responses." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/prompt-078b12695f95c4f0eac3861a8a2611ef.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/prompt-078b12695f95c4f0eac3861a8a2611ef.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="AI Prompting 101: How to Get the Best Responses from Your AI Agent" />
<meta name="twitter:description" content="How to prompt and vibe code your way to better responses." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/prompt-078b12695f95c4f0eac3861a8a2611ef.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/prompt-078b12695f95c4f0eac3861a8a2611ef.png" />
</head>
@@ -43,12 +43,12 @@ This has been so extremely helpful in increasing my productivity. Thanks, Goose!
<head>
<meta property="og:title" content="MCP in Action: How I Use AI to Plan My Week with Goose, Asana, and Google Calendar" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/20/asana-calendar-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/20/asana-calendar-mcp" />
<meta property="og:description" content="Use MCPs with Goose to automate task management and enhance productivity." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/mcp-planner-761303c5ddcd5c79ed853536e3f87bcf.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/mcp-planner-761303c5ddcd5c79ed853536e3f87bcf.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCP in Action: How I Use AI to Plan My Week with Goose, Asana, and Google Calendar" />
<meta name="twitter:description" content="Use MCPs with Goose to automate task management and enhance productivity." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/mcp-planner-761303c5ddcd5c79ed853536e3f87bcf.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/mcp-planner-761303c5ddcd5c79ed853536e3f87bcf.png" />
</head>
@@ -12,7 +12,7 @@ authors:
**Answer: You get an electric night filled with great conversations, hands-on hacking, and mind-blowing insights into agentic systems.**
This week, we hosted our very first [Goose](https://block.github.io/goose) Meetup in Boston at the Cambridge Innovation Center. The turnout and energy exceeded all expectations! From first-time Goose users to seasoned AI engineers, attendees gathered to explore how Goose and the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) are shaping the future of AI automation.
This week, we hosted our very first [Goose](https://goose-docs.ai) Meetup in Boston at the Cambridge Innovation Center. The turnout and energy exceeded all expectations! From first-time Goose users to seasoned AI engineers, attendees gathered to explore how Goose and the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) are shaping the future of AI automation.
<!--truncate-->
@@ -110,12 +110,12 @@ _The Goose Team in Boston_
<head>
<meta property="og:title" content="Codename Goose Goes to Boston" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/21/goose-boston-meetup" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/21/goose-boston-meetup" />
<meta property="og:description" content="We hosted our first Goose Meetup in Boston, bringing together over 70 community members for lightning talks, hacking, and lively conversations about agentic systems and the future of MCPs." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/goose_goes_to_boston_banner-3ef0eedeb9d3eac56907c0c5e615d919.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/goose_goes_to_boston_banner-3ef0eedeb9d3eac56907c0c5e615d919.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Codename Goose Goes to Boston" />
<meta name="twitter:description" content="We hosted our first Goose Meetup in Boston, bringing together over 70 community members for lightning talks, hacking, and lively conversations about agentic systems and the future of MCPs." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/goose_goes_to_boston_banner-3ef0eedeb9d3eac56907c0c5e615d919.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/goose_goes_to_boston_banner-3ef0eedeb9d3eac56907c0c5e615d919.png" />
</head>
@@ -60,12 +60,12 @@ The project is open source, and welcomes contributions from the community. If yo
<head>
<meta property="og:title" content="Cracking the Code in VS Code" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/21/goose-vscode" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/21/goose-vscode" />
<meta property="og:description" content="Connect Goose directly to your code editor with this Visual Studio Code MCP." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/vscodestream-74eafa34e7ae10cfb738feddecc98519.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/vscodestream-74eafa34e7ae10cfb738feddecc98519.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Cracking the Code in VS Code" />
<meta name="twitter:description" content="Connect Goose directly to your code editor with this Visual Studio Code MCP." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/vscodestream-74eafa34e7ae10cfb738feddecc98519.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/vscodestream-74eafa34e7ae10cfb738feddecc98519.png" />
</head>
@@ -58,12 +58,12 @@ A quick glance at an MCP directory like Glama can save you from crying on your o
<head>
<meta property="og:title" content="How to Determine If An MCP Server Is Safe" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/26/mcp-security" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/26/mcp-security" />
<meta property="og:description" content="Before you plug your AI agent into just any MCP server, here's how to check if it's actually safe." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/mcpsafety-87eb7ace7163a5edbe068ff75b79a199.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/mcpsafety-87eb7ace7163a5edbe068ff75b79a199.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How to Determine If An MCP Server Is Safe" />
<meta name="twitter:description" content="Before you plug your agent into just any MCP server, here's how to check if it's actually safe." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/mcpsafety-87eb7ace7163a5edbe068ff75b79a199.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/mcpsafety-87eb7ace7163a5edbe068ff75b79a199.png" />
</head>
@@ -84,12 +84,12 @@ Voice interactions with AI agents like Goose with the power and tools to act on
<head>
<meta property="og:title" content="Vibe Coding with Goose and the Speech MCP" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/28/vibe-coding-with-goose" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/28/vibe-coding-with-goose" />
<meta property="og:description" content="Explore the new Speech MCP server that enables voice-controlled coding and natural conversation with your AI agent." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/vibe-coding-b2efeed37ea43f4773da5f1ff96f4184.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/vibe-coding-b2efeed37ea43f4773da5f1ff96f4184.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Vibe Coding with Goose and the Speech MCP" />
<meta name="twitter:description" content="Explore the new Speech MCP server that enables voice-controlled coding and natural conversation with your AI agent." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/vibe-coding-b2efeed37ea43f4773da5f1ff96f4184.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/vibe-coding-b2efeed37ea43f4773da5f1ff96f4184.png" />
</head>
@@ -23,7 +23,7 @@ These community evals aren't the rigorous, peer-reviewed benchmarks that researc
In this spirit, we're introducing our **Goose Vibe Check** leaderboard.
Thank you to the Ollama team for their help and support in our experimentation contributing to this blog! We used Ollamas [structured outputs](https://ollama.com/blog/structured-outputs) feature to enable our [toolshim implementation](https://block.github.io/goose/docs/experimental/ollama) (more below) and their recently released [context length parameter override](https://github.com/ollama/ollama/blob/main/docs/faq.mdx#how-can-i-specify-the-context-window-size) to enable testing on longer contexts.
Thank you to the Ollama team for their help and support in our experimentation contributing to this blog! We used Ollamas [structured outputs](https://ollama.com/blog/structured-outputs) feature to enable our [toolshim implementation](https://goose-docs.ai/docs/experimental/ollama) (more below) and their recently released [context length parameter override](https://github.com/ollama/ollama/blob/main/docs/faq.mdx#how-can-i-specify-the-context-window-size) to enable testing on longer contexts.
## Leaderboard
@@ -136,7 +136,7 @@ Tool calling enables models to interact with [MCP extensions](https://github.com
### Evaluation Suites
Our evaluations are defined in the [Goose repository](https://github.com/block/goose/tree/main/crates/goose-bench/src/eval_suites) (PRs welcome to add additional evals!) and are grouped into two categories:
Our evaluations are defined in the [Goose repository](https://github.com/aaif-goose/goose/tree/main/crates/goose-bench/src/eval_suites) (PRs welcome to add additional evals!) and are grouped into two categories:
#### Core Suite
These evals focus on certain tasks fundamental to developer workflows:
@@ -237,7 +237,7 @@ However, this solution has limited performance due to:
- **Structured output interference:** Ollamas structured output feature influences the models token sampling process, where the output is impacted by the models fundamental ability to extract information and generate JSON appropriately.
Despite these challenges, there could be potential in fine-tuning these toolshim models to specifically optimize them for tool call generation.
If youd like to try out the toolshim, check out our [documentation](https://block.github.io/goose/docs/experimental/ollama)
If youd like to try out the toolshim, check out our [documentation](https://goose-docs.ai/docs/experimental/ollama)
## Practical Advice for Local Model Users
@@ -422,13 +422,13 @@ For runs that successfully created an index.html for the Wiki page task, here
<head>
<meta property="og:title" content="Community-Inspired Benchmarking: The Goose Vibe Check" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/31/goose-benchmark" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/31/goose-benchmark" />
<meta property="og:description" content="See how open source AI models measure up in our first Goose agent benchmark tests" />
<meta property="og:image" content="http://block.github.io/goose/assets/images/goose-benchmark-d9726c203290ef892fe3fe3adc7d898f.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/goose-benchmark-d9726c203290ef892fe3fe3adc7d898f.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Community-Inspired Benchmarking: The Goose Vibe Check" />
<meta name="twitter:description" content="See how open source AI models measure up in our first Goose agent benchmark tests" />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/goose-benchmark-d9726c203290ef892fe3fe3adc7d898f.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/goose-benchmark-d9726c203290ef892fe3fe3adc7d898f.png" />
</head>
@@ -176,12 +176,12 @@ Were excited to work on making this protocol more secure for users and develo
<head>
<meta property="og:title" content="Securing the Model Context Protocol" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/03/31/securing-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/03/31/securing-mcp" />
<meta property="og:description" content="Building secure and capable AI integrations with Model Context Protocol (MCP) at Block." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/securing-mcp-5e475e91c0e621afa33e30b3d89ef065.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/securing-mcp-5e475e91c0e621afa33e30b3d89ef065.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Securing the Model Context Protocol" />
<meta name="twitter:description" content="Building secure and capable AI integrations with Model Context Protocol (MCP) at Block." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/securing-mcp-5e475e91c0e621afa33e30b3d89ef065.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/securing-mcp-5e475e91c0e621afa33e30b3d89ef065.png" />
</head>
@@ -68,24 +68,24 @@ Asana: Create a new task in my Asana workspace called 'Review Q4 metrics' and se
GitHub: Create a new branch called hello-world in my angiejones/goose-demo repository. Update the README.md file to say "this was written by goose" and commit it. Open a pull request with your changes.
```
To see more examples just like this, along with the results you can get, check out this [Prompt Library](https://block.github.io/goose/prompt-library)! This is your central directory for discovering and using effective prompts with Goose.
To see more examples just like this, along with the results you can get, check out this [Prompt Library](https://goose-docs.ai/prompt-library)! This is your central directory for discovering and using effective prompts with Goose.
## The Possibilities Are Endless
While some are developed by official providers, a vast majority of MCP servers you see are actually developed by community members! Plus, because MCP is an open standard, anyone can build an MCP server for any resource. You could even use Goose to help you build one!
Hopefully now, instead of spending hours manually gathering data and creating your next marketing report, or manually sorting through your todo-backlog on a Monday, you will use MCP with Goose and have it done for you in minutes.
*To learn more about using MCP servers and Goose, check out the [Goose documentation](https://block.github.io/goose/docs/category/getting-started), or join the [Block Open Source Discord](https://discord.gg/goose-oss) to connect with other open source community members.*
*To learn more about using MCP servers and Goose, check out the [Goose documentation](https://goose-docs.ai/docs/category/getting-started), or join the [Block Open Source Discord](https://discord.gg/goose-oss) to connect with other open source community members.*
<head>
<meta property="og:title" content="MCP Explained for Non-Developers" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/01/mcp-nondevs" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/01/mcp-nondevs" />
<meta property="og:description" content="Learn what Model Context Protocol (MCP) is and how anyone can use it to save time on tasks." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/mcp_nondevs-5ce7f39de923cab01de6e14e5dc06744.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/mcp_nondevs-5ce7f39de923cab01de6e14e5dc06744.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCP Explained for Non-Developers" />
<meta name="twitter:description" content="Learn what Model Context Protocol (MCP) is and how anyone can use it to save time on tasks." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/mcp_nondevs-5ce7f39de923cab01de6e14e5dc06744.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/mcp_nondevs-5ce7f39de923cab01de6e14e5dc06744.png" />
</head>
@@ -89,12 +89,12 @@ What are your favorite MCP servers? How do you use them together? Share your exp
<head>
<meta property="og:title" content="Top 5 MCP Servers I Use as a Developer with Goose Extensions" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/01/top-5-mcp-servers" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/01/top-5-mcp-servers" />
<meta property="og:description" content="These 5 MCP servers help me automate my workflow and make me a better developer." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/mcp-servers-cover-6994acb4dec5a3b33d10ea61f7609e4b.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/mcp-servers-cover-6994acb4dec5a3b33d10ea61f7609e4b.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Top 5 MCP Servers I Use as a Developer with Goose Extensions" />
<meta name="twitter:description" content="These 5 MCP servers help me automate my workflow and make me a better developer." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/mcp-servers-cover-6994acb4dec5a3b33d10ea61f7609e4b.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/mcp-servers-cover-6994acb4dec5a3b33d10ea61f7609e4b.png" />
</head>
@@ -38,7 +38,7 @@ This creative freedom comes with significant risks. Many developers have encount
## A Better Way to Vibe Code with Goose
[Goose](https://block.github.io/goose) is an open source AI agent local to your machine with built-in features for safe vibe coding.
[Goose](https://goose-docs.ai) is an open source AI agent local to your machine with built-in features for safe vibe coding.
:::note
Most folks define "vibe coding" as purely chaotic development with no rules. I'm redefining it as flowing with AI while protecting your project, team, and future self.
@@ -46,7 +46,7 @@ Most folks define "vibe coding" as purely chaotic development with no rules. I'm
### 1. Use `.gooseignore` to Protect Sensitive Files
Goose supports [`.gooseignore`](https://block.github.io/goose/docs/guides/using-gooseignore) files. The concept is similar to `.gitignore` files for your AI agent. It defines which files and folders Goose should *not* read, modify, or interact with.
Goose supports [`.gooseignore`](https://goose-docs.ai/docs/guides/using-gooseignore) files. The concept is similar to `.gitignore` files for your AI agent. It defines which files and folders Goose should *not* read, modify, or interact with.
Use this when you want to prevent:
@@ -59,13 +59,13 @@ Use this when you want to prevent:
### 2. Create a plan
Goose's [`/plan`](https://block.github.io/goose/docs/guides/goose-cli-commands#examples) command helps you align with your agent before any code is touched, giving you a clear understanding of what it intends to do and how it will do it.
Goose's [`/plan`](https://goose-docs.ai/docs/guides/goose-cli-commands#examples) command helps you align with your agent before any code is touched, giving you a clear understanding of what it intends to do and how it will do it.
This is especially useful for tasks that span multiple files, involve side effects, or could impact critical areas of your codebase. No more guesswork—just a structured breakdown you can review and approve.
### 3. Choose the Right Mode for the Job
While letting your AI agent take the lead is fun, not every moment calls for full autonomy. Sometimes, you need to pause, review, or plan before any code changes. Goose offers several [modes](https://block.github.io/goose/docs/guides/goose-permissions) that help you stay in control without breaking your momentum. Here's how to use them intentionally during your sessions:
While letting your AI agent take the lead is fun, not every moment calls for full autonomy. Sometimes, you need to pause, review, or plan before any code changes. Goose offers several [modes](https://goose-docs.ai/docs/guides/goose-permissions) that help you stay in control without breaking your momentum. Here's how to use them intentionally during your sessions:
* **Chat Mode**
Goose will only respond with text so that you can brainstorm together.
@@ -117,7 +117,7 @@ Before issues hit production, add [Goose to your CI/CD pipeline](/docs/tutorials
Some MCP servers can introduce security risks, especially if compromised.
Use the Goose [allowlist](https://github.com/block/goose/blob/main/crates/goose-server/ALLOWLIST.md) feature to prevent Goose from calling unsafe or untrusted tools.
Use the Goose [allowlist](https://github.com/aaif-goose/goose/blob/main/crates/goose-server/ALLOWLIST.md) feature to prevent Goose from calling unsafe or untrusted tools.
Here's how the team at Block is thinking about [securing the MCP](/blog/2025/03/31/securing-mcp).
@@ -128,7 +128,7 @@ Not all LLMs are built the same. Goose plays best with:
* Claude Sonnet 3.5
* GPT-4o
Lower-performing models might work, but they're more likely to hallucinate or misunderstand your goals. Read more about how [different LLM's perform with Goose](https://block.github.io/goose/blog/2025/03/31/goose-benchmark/).
Lower-performing models might work, but they're more likely to hallucinate or misunderstand your goals. Read more about how [different LLM's perform with Goose](https://goose-docs.ai/blog/2025/03/31/goose-benchmark/).
## Watch Vibe Coding in Action
Heres how folks vibe code with Goose:
@@ -139,17 +139,17 @@ Heres how folks vibe code with Goose:
Vibe coding isn't inherently wrong. It's marks a new chapter in how we build, and it opens the door for everyone. But experienced developers have a responsibility to define what smart, safe vibe coding looks like. Goose gives us the tools to set that standard, so the whole community can code creatively without sacrificing quality.
Download [Goose](https://block.github.io/goose/docs/getting-started/installation/), and start vibe coding with intention today!
Download [Goose](https://goose-docs.ai/docs/getting-started/installation/), and start vibe coding with intention today!
<head>
<meta property="og:title" content="How to Vibe Code Responsibly (with Goose)" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/08/vibe-code-responsibly" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/08/vibe-code-responsibly" />
<meta property="og:description" content="Vibe coding feels magical until it isn't. Learn how to flow with Goose while protecting your code, your team, and your future self." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/responsible-vibe-code-a77f5e24a879edda943cc76f1fc0bd2a.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/responsible-vibe-code-a77f5e24a879edda943cc76f1fc0bd2a.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How to Vibe Code Responsibly (with Goose)" />
<meta name="twitter:description" content="Vibe coding feels magical until it isn't. Learn how to flow with Goose while protecting your code, your team, and your future self." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/responsible-vibe-code-a77f5e24a879edda943cc76f1fc0bd2a.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/responsible-vibe-code-a77f5e24a879edda943cc76f1fc0bd2a.png" />
</head>
@@ -82,12 +82,12 @@ And don't forget to [join the community](https://discord.gg/goose-oss) to see wh
<head>
<meta property="og:title" content="A Visual Guide To MCPs" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/10/visual-guide-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/10/visual-guide-mcp" />
<meta property="og:description" content="Visual breakdown of MCP: How your agent, tools, and models work together." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/mcpblog-40894789122bda594a8576ebcb67a2d8.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/mcpblog-40894789122bda594a8576ebcb67a2d8.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="A Visual Guide To MCPs" />
<meta name="twitter:description" content="Visual breakdown of MCP: How your AI agent, tools, and models work together." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/mcpblog-40894789122bda594a8576ebcb67a2d8.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/mcpblog-40894789122bda594a8576ebcb67a2d8.png" />
</head>
@@ -8,7 +8,7 @@ authors:
![blog cover](toolshim-header.png)
Our recently published [Goose benchmark](https://block.github.io/goose/blog/2025/03/31/goose-benchmark) revealed significant performance limitations in models where tool calling is not straightforwardly supported (e.g., Gemma3, Deepseek-r1, phi4). These models often fail to invoke tools at appropriate times or produce malformed or inconsistently formatted tool calls. With the most recent releases of Llama4 and Deepseek v3 (0324), we are again observing challenges with effective tool calling performance, even on these flagship openweight models.
Our recently published [Goose benchmark](https://goose-docs.ai/blog/2025/03/31/goose-benchmark) revealed significant performance limitations in models where tool calling is not straightforwardly supported (e.g., Gemma3, Deepseek-r1, phi4). These models often fail to invoke tools at appropriate times or produce malformed or inconsistently formatted tool calls. With the most recent releases of Llama4 and Deepseek v3 (0324), we are again observing challenges with effective tool calling performance, even on these flagship openweight models.
<!--truncate-->
@@ -18,13 +18,13 @@ Tool calling is a critical capability for agents like goose. It allows models to
## Background: using a local model as a "toolshim"
The goal is to allow goose to work with the widest variety of models possible. A "toolshim" in this case is a thin layer which sits between the main model doing the agent work, and the tools that can perform actual actions (making the agent take action, vs being a chatbot). Previously we have been trying this approach with open models including in this [past benchmark](https://block.github.io/goose/blog/2025/03/31/goose-benchmark) post. A toolshim, if it can work, unlocks both powerful cutting edge models (open weight and closed) which while may perform well on various benchmarks, fall well short when tool calling for agents is required (or perhaps don't, by design, support tool calling at all, such as the case with some reasoning models).
The goal is to allow goose to work with the widest variety of models possible. A "toolshim" in this case is a thin layer which sits between the main model doing the agent work, and the tools that can perform actual actions (making the agent take action, vs being a chatbot). Previously we have been trying this approach with open models including in this [past benchmark](https://goose-docs.ai/blog/2025/03/31/goose-benchmark) post. A toolshim, if it can work, unlocks both powerful cutting edge models (open weight and closed) which while may perform well on various benchmarks, fall well short when tool calling for agents is required (or perhaps don't, by design, support tool calling at all, such as the case with some reasoning models).
## Proposal: Fine-tune a lightweight toolshim model (up to 12b)
Develop a dedicated toolshim model that translates open-source model outputs into well-structured tool calls, acting as a reliable post-processor to standardize across model families trained that currently exhibit inconsistent and unreliable tool call generation behavior. We do not use tool calling apis even if available, but provide tool context in the system prompts.
We already experimented with this in the [benchmarking effort](https://block.github.io/goose/blog/2025/03/31/goose-benchmark), finding that phi4 (14b) and gemma3 (27b) achieved close performance to llama3.3 (70b) when used with a generic local model (mistral-nemo) as the shim. This shows potential for furthering their performance with more focused attention on improving the shim's performance.
We already experimented with this in the [benchmarking effort](https://goose-docs.ai/blog/2025/03/31/goose-benchmark), finding that phi4 (14b) and gemma3 (27b) achieved close performance to llama3.3 (70b) when used with a generic local model (mistral-nemo) as the shim. This shows potential for furthering their performance with more focused attention on improving the shim's performance.
Toolshim System Sketch:
@@ -86,12 +86,12 @@ On top of local models, we would like to consider parsers, parser combinators, c
<head>
<meta property="og:title" content="Finetuning Toolshim Models for Tool Calling" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/11/finetuning-toolshim" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/11/finetuning-toolshim" />
<meta property="og:description" content="Addressing performance limitations in models without native tool calling support" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/toolshim-header-42611f614e7722f90cf83991debe3046.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/toolshim-header-42611f614e7722f90cf83991debe3046.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Finetuning Toolshim Models for Tool Calling" />
<meta name="twitter:description" content="Addressing performance limitations in models without native tool calling support" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/toolshim-header-42611f614e7722f90cf83991debe3046.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/toolshim-header-42611f614e7722f90cf83991debe3046.png" />
</head>
@@ -27,17 +27,17 @@ Thank you so much for your contribution, ATrueLight4! Your work brings us one st
To show our deep gratitude for your contribution, we've granted you the exclusive ✨Top Contributor✨ badge on the Block Open Source Discord! You'll also be one of the first contributors to receive exclusive codename goose swag. (more info on that to be announced later 👀🪿)
## Get Your Own Spotlight
Interested in contributing to goose and having your contribution featured? Whether it's improving platform support, adding new features, or fixing bugs, we welcome all contributions from the open source community. You can [join the Block Open Source Discord](https://discord.gg/goose-oss) or [get started using codename goose](https://block.github.io/goose/) today.
Interested in contributing to goose and having your contribution featured? Whether it's improving platform support, adding new features, or fixing bugs, we welcome all contributions from the open source community. You can [join the Block Open Source Discord](https://discord.gg/goose-oss) or [get started using codename goose](https://goose-docs.ai/) today.
<head>
<meta property="og:title" content="How ATrueLight4 Helped Goose Navigate Windows" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/14/community-atruelight4" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/14/community-atruelight4" />
<meta property="og:description" content="Block Open Source Top Contributor of the Month" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose4win-7f57433fa3f19849e74b18ebffe08bcf.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose4win-7f57433fa3f19849e74b18ebffe08bcf.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How ATrueLight4 Helped Goose Navigate Windows" />
<meta name="twitter:description" content="Block Open Source Top Contributor of the Month" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose4win-7f57433fa3f19849e74b18ebffe08bcf.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose4win-7f57433fa3f19849e74b18ebffe08bcf.png" />
</head>
@@ -104,12 +104,12 @@ Well see you in Atlanta 👀
<head>
<meta property="og:title" content="Codename Goose Goes to New York" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/17/goose-goes-to-NY" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/17/goose-goes-to-NY" />
<meta property="og:description" content="Goose lands in NYC for its second community meetup" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/cover-6c131d275bcdb4d8651a140d62e2975f.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/cover-6c131d275bcdb4d8651a140d62e2975f.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Codename Goose Goes to New York" />
<meta name="twitter:description" content="Goose lands in NYC for its second community meetup" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/cover-6c131d275bcdb4d8651a140d62e2975f.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/cover-6c131d275bcdb4d8651a140d62e2975f.png" />
</head>
@@ -125,12 +125,12 @@ We'd love to hear how others are approaching AI automation at scale.
<head>
<meta property="og:title" content="MCP in the Enterprise: Real World Adoption at Block" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose//blog/2025/04/21/mcp-in-enterprise" />
<meta property="og:url" content="https://goose-docs.ai//blog/2025/04/21/mcp-in-enterprise" />
<meta property="og:description" content="How Block is using MCP to power real world automation company-wide." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/mcp-for-enterprise-social-bb8a18872fedc0046ef72bb413dea851.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/mcp-for-enterprise-social-bb8a18872fedc0046ef72bb413dea851.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCP in the Enterprise: Real World Adoption at Block" />
<meta name="twitter:description" content="How Block is using MCP to power real world automation company-wide." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/mcp-for-enterprise-social-bb8a18872fedc0046ef72bb413dea851.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/mcp-for-enterprise-social-bb8a18872fedc0046ef72bb413dea851.png" />
</head>
@@ -270,12 +270,12 @@ Let goose surprise you. ✨
<head>
<meta property="og:title" content="11 Practical Ways I Use AI Agents Without Losing My Authenticity" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/21/practical-use-cases-of-ai" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/21/practical-use-cases-of-ai" />
<meta property="og:description" content="From conference planning to prepping podcasts, here's how I use AI Agents built on MCP for everyday tasks." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/mcp-use-cases-758ecc959d6334783257fc9d6329e1f2.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/mcp-use-cases-758ecc959d6334783257fc9d6329e1f2.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="11 Practical Ways I Use AI Agents Without Losing My Authenticity" />
<meta name="twitter:description" content="From conference planning to prepping podcasts, here's how I use AI Agents built on MCP for everyday tasks." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/mcp-use-cases-758ecc959d6334783257fc9d6329e1f2.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/mcp-use-cases-758ecc959d6334783257fc9d6329e1f2.png" />
</head>
@@ -13,30 +13,30 @@ The only way to discover how much of an impact your contributions can make is to
## How BestCodes Discovered Goose
[BestCodes](https://bestcodes.dev/) first discovered Goose during a [GitHub Open Source Friday livestream](https://www.youtube.com/watch?v=O-zJJN-TkXc&ab_channel=AngieJones) and decided to give it a try. At the time, Goose offered limited support for Windows/Linux (with more work in progress before any official release). Since BestCodes wasn't a Mac user, he wanted to help bring support to Linux. After lots of troubleshooting, he ended up creating [a Debian build fix](https://github.com/block/goose/pull/2070) that finally let him start using Goose on Linux.
[BestCodes (aka William Steele)](https://bestcodes.dev/) first discovered Goose during a [GitHub Open Source Friday livestream](https://www.youtube.com/watch?v=O-zJJN-TkXc&ab_channel=AngieJones) and decided to give it a try. At the time, Goose offered limited support for Windows/Linux (with more work in progress before any official release). Since BestCodes wasn't a Mac user, he wanted to help bring support to Linux. After lots of troubleshooting, he ended up creating [a Debian build fix](https://github.com/aaif-goose/goose/pull/2070) that finally let him start using Goose on Linux.
Even though BestCodes wondered if such a small fix was worth sharing, it was this "small" contribution that enabled fellow community members wanting to use Goose on Linux, and gave him momentum for future PRs. His experience is proof that your contribution has a chance to help someone, and you should share it! You never know what curiosity and the open source community can make happen.
## Building Momentum
BestCodes has continued to make Goose better with thoughtful improvements—from [polishing the UI](https://github.com/block/goose/pull/2079) and [refining load states](https://github.com/block/goose/pull/2079), to [fixing subtle bugs](https://github.com/block/goose/pull/2279) that make the Goose experience smoother for everyone. You can check out [BestCodes' contributions on GitHub](https://github.com/block/goose/pulls?q=is%3Apr+is%3Aclosed+author%3AThe-Best-Codes).
BestCodes has continued to make Goose better with thoughtful improvements—from [polishing the UI](https://github.com/aaif-goose/goose/pull/2079) and [refining load states](https://github.com/aaif-goose/goose/pull/2079), to [fixing subtle bugs](https://github.com/aaif-goose/goose/pull/2279) that make the Goose experience smoother for everyone. You can check out [BestCodes' contributions on GitHub](https://github.com/aaif-goose/goose/pulls?q=is%3Apr+is%3Aclosed+author%3AThe-Best-Codes).
Thank you so much for your continued support and contributions, BestCodes! Your work brings us one step closer to a full Goose experience on Windows and Linux.
To show how grateful we are for your contributions, we've granted you the exclusive ✨Top Contributor✨ badge on the Block Open Source Discord! Plus, you'll also be receiving exclusive codename goose swag. 👀🪿
## Become A Top Contributor
Interested in contributing to goose and having your work featured? Whether it's fixing bugs, sharing ideas, or helping others, every contribution from the open source community has the chance to help someone. You can [join the Block Open Source Discord](https://discord.gg/goose-oss) or [get started using codename goose](https://block.github.io/goose/) today.
Interested in contributing to goose and having your work featured? Whether it's fixing bugs, sharing ideas, or helping others, every contribution from the open source community has the chance to help someone. You can [join the Block Open Source Discord](https://discord.gg/goose-oss) or [get started using codename goose](https://goose-docs.ai/) today.
<head>
<meta property="og:title" content="How One Contribution Can Spark Many Wins" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/22/community-bestcodes" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/22/community-bestcodes" />
<meta property="og:description" content="The snowball effect of one contributor's fixes" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/bestcodes-3d6c50de10a2d84def19d515aaea0724.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/bestcodes-3d6c50de10a2d84def19d515aaea0724.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How One Contribution Can Spark Many Wins" />
<meta name="twitter:description" content="The snowball effect of one contributor's small fixes" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/bestcodes-3d6c50de10a2d84def19d515aaea0724.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/bestcodes-3d6c50de10a2d84def19d515aaea0724.png" />
</head>
@@ -153,12 +153,12 @@ A: Your approach on this may vary depending on whether you're building your own
<head>
<meta property="og:title" content="MCP Is Rewriting the Rules of API Integration" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/22/mcp-is-rewriting-the-rules-of-api-integration" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/22/mcp-is-rewriting-the-rules-of-api-integration" />
<meta property="og:description" content="A developer's guide to modernizing API infrastructure with AI agents and Model Context Protocol. Learn about the benefits, integration strategies, and how to address security considerations." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/cover-1e2153c66f3f0c92da7bbaafd240a9b4.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/cover-1e2153c66f3f0c92da7bbaafd240a9b4.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCP Is Rewriting the Rules of API Integration" />
<meta name="twitter:description" content="A developer's guide to modernizing API infrastructure with AI agents and Model Context Protocol. Learn about the benefits, integration strategies, and how to address security considerations." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/cover-1e2153c66f3f0c92da7bbaafd240a9b4.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/cover-1e2153c66f3f0c92da7bbaafd240a9b4.png" />
</head>
@@ -43,9 +43,9 @@ Either way, Goose gives you the flexibility.
That said, if youre looking for the best performance with Goose right now, Anthropic's Claude 3.5 Sonnet and OpenAI's GPT-4o (2024-11-20) are recommended, as they currently offer the strongest support for tool calling.
Curious how other models stack up? Check out the [Community-Inspired Benchmark Leaderboard](https://block.github.io/goose/blog/2025/03/31/goose-benchmark/#leaderboard) to see how your favorite model performs with Goose.
Curious how other models stack up? Check out the [Community-Inspired Benchmark Leaderboard](https://goose-docs.ai/blog/2025/03/31/goose-benchmark/#leaderboard) to see how your favorite model performs with Goose.
And if youre still deciding, heres the full list of [available LLM providers](https://block.github.io/goose/docs/getting-started/providers#available-providers).
And if youre still deciding, heres the full list of [available LLM providers](https://goose-docs.ai/docs/getting-started/providers#available-providers).
---
@@ -65,7 +65,7 @@ Goose itself? Totally free and open source. 🎉 But your LLM provider might not
Most models give you a free tier to play around with, but if you're doing anything intensive or using it often, youll eventually run into rate limits or token charges. Thats normal but it can sneak up on you if youre not expecting it.
To help you manage this, there is a [Handling Rate Limits Guide](https://block.github.io/goose/docs/guides/handling-llm-rate-limits-with-goose/) that you can check out.
To help you manage this, there is a [Handling Rate Limits Guide](https://goose-docs.ai/docs/guides/handling-llm-rate-limits-with-goose/) that you can check out.
---
@@ -73,7 +73,7 @@ To help you manage this, there is a [Handling Rate Limits Guide](https://block.g
This part matters more than most people realize.
Goose has an entire community behind it—folks building, exploring, breaking things (and fixing them), and sharing everything they learn along the way. We hang out on [Discord](https://discord.gg/goose-oss), we answer questions in [GitHub Discussions](https://github.com/block/goose/discussions), and we host livestreams every week to show off what Goose can do and how to make it do more.
Goose has an entire community behind it—folks building, exploring, breaking things (and fixing them), and sharing everything they learn along the way. We hang out on [Discord](https://discord.gg/goose-oss), we answer questions in [GitHub Discussions](https://github.com/aaif-goose/goose/discussions), and we host livestreams every week to show off what Goose can do and how to make it do more.
Theres:
@@ -81,27 +81,27 @@ Theres:
- **Wild Goose Case** showcasing cool community projects
- **Great Goose Off** - same task, same time limit, but different prompts, MCP servers, and strategies
Youll find those livestreams on our [YouTube channel](https://www.youtube.com/@goose-oss/streams), and upcoming ones on the Discord calendar. Plus, if you prefer documentation, the [Goose docs](https://block.github.io/goose/) and [blog](https://block.github.io/goose/blog) are constantly being updated with new guides, tips, and tutorials.
Youll find those livestreams on our [YouTube channel](https://www.youtube.com/@goose-oss/streams), and upcoming ones on the Discord calendar. Plus, if you prefer documentation, the [Goose docs](https://goose-docs.ai/) and [blog](https://goose-docs.ai/blog) are constantly being updated with new guides, tips, and tutorials.
---
If you've got those four things: a performant LLM, the right MCP servers, a basic understanding of LLM cost, and a place to ask questions, you're more than ready to Goose.
Now, head over to the [Quickstart Guide](https://block.github.io/goose/docs/quickstart) and get started.
Now, head over to the [Quickstart Guide](https://goose-docs.ai/docs/quickstart) and get started.
Oh and when you get to the [Tic-Tac-Toe game](https://block.github.io/goose/docs/quickstart/#write-prompt), Ill bet you 10 Goosebucks you wont beat the bot.
Oh and when you get to the [Tic-Tac-Toe game](https://goose-docs.ai/docs/quickstart/#write-prompt), Ill bet you 10 Goosebucks you wont beat the bot.
<head>
<meta property="og:title" content="4 Things You Need to Know Before Using Goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/04/23/things-need-to-know" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/23/things-need-to-know" />
<meta property="og:description" content="Learn what you need to get started with Goose - a local open source AI agent that's powered by the LLM of your choice." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/cover-2ba7c2e15786be2db6108c91d27dc1ec.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/cover-2ba7c2e15786be2db6108c91d27dc1ec.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="4 Things You Need to Know Before Using Goose" />
<meta name="twitter:description" content="Learn what you need to get started with Goose - a local open source AI agent that's powered by the LLM of your choice." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/cover-2ba7c2e15786be2db6108c91d27dc1ec.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/cover-2ba7c2e15786be2db6108c91d27dc1ec.png" />
</head>
@@ -195,12 +195,12 @@ Your team is full of problem solvers. One teammate built a slick internal dashbo
<head>
<meta property="og:title" content="A Recipe for Success: Cooking Up Repeatable Agentic Workflows" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/05/06/recipe-for-success" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/05/06/recipe-for-success" />
<meta property="og:description" content="A fresh look at AI agents, orchestration, and repeatability told through the metaphor of a rat who can cook." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/cookingwithgoose-9114cf03cec76df4792fc58361ebe20b.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/cookingwithgoose-9114cf03cec76df4792fc58361ebe20b.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="A Recipe for Success: Cooking Up Repeatable Agentic Workflows" />
<meta name="twitter:description" content="A fresh look at AI agents, orchestration, and repeatability told through the metaphor of a rat who can cook." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/cookingwithgoose-9114cf03cec76df4792fc58361ebe20b.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/cookingwithgoose-9114cf03cec76df4792fc58361ebe20b.png" />
</head>
@@ -300,13 +300,13 @@ We'd love for you to share your ideas with us! Share your ideas by creating a re
<head>
<meta property="og:title" content="Championship Driven Development: Your team's AI Playbook for Peak Performance" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/05/09/developers-ai-playbook-for-team-efficiency" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/05/09/developers-ai-playbook-for-team-efficiency" />
<meta property="og:description" content="Learn how AI-driven 'plays,' based on Model Context Protocol, can help development teams improve common workflows like changelog generation and pull requests." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/cdd-playbook-69a053588574d8678c2acb92a1b21da6.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/cdd-playbook-69a053588574d8678c2acb92a1b21da6.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Championship Driven Development: Your team's AI Playbook for Peak Performance" />
<meta name="twitter:description" content="Learn how AI-driven 'plays,' based on Model Context Protocol, can help development teams improve common workflows like changelog generation and pull requests." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/cdd-playbook-69a053588574d8678c2acb92a1b21da6.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/cdd-playbook-69a053588574d8678c2acb92a1b21da6.png" />
<meta name="keywords" content="AI development; Model Context Protocol; developer productivity; team playbook; AI automation; Goose; software development efficiency; changelogs; pull requests" />
</head>
@@ -60,13 +60,13 @@ It would be interesting to try the larger models if, you have access to hardware
<head>
<meta property="og:title" content="Goose and Qwen3 for Local Execution" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/05/12/local-goose-qwen3" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/05/12/local-goose-qwen3" />
<meta property="og:description" content="Run AI commands locally with Goose and Qwen3 for fast, offline tool execution" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-qwen-local-62d07cd240ff65cb99a6ef41a2c851a5.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-qwen-local-62d07cd240ff65cb99a6ef41a2c851a5.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Goose and Qwen3 for Local Execution" />
<meta name="twitter:description" content="Run AI commands locally with Goose and Qwen3 for fast, offline tool execution" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-qwen-local-62d07cd240ff65cb99a6ef41a2c851a5.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-qwen-local-62d07cd240ff65cb99a6ef41a2c851a5.png" />
</head>
@@ -149,12 +149,12 @@ We're always excited to see what the community is up to. If you're working on yo
<head>
<meta property="og:title" content="Goose Gets a Driver's License!" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/05/06/goose-gets-a-drivers-license" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/05/06/goose-gets-a-drivers-license" />
<meta property="og:description" content="Control a MakeBlock mbot2 rover through MQTT and MCP as a Goose Extension" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-rover-blog-3f3cbe549ebbfb0f951ff61a86788475.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-rover-blog-3f3cbe549ebbfb0f951ff61a86788475.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Goose Gets a Driver's License!" />
<meta name="twitter:description" content="Control a MakeBlock mbot2 rover through MQTT and MCP as a Goose Extension" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-rover-blog-3f3cbe549ebbfb0f951ff61a86788475.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-rover-blog-3f3cbe549ebbfb0f951ff61a86788475.png" />
</head>
@@ -97,12 +97,12 @@ If a model passes this multi-turn prompt sequence, it's safe to assume that it i
<head>
<meta property="og:title" content="3 Prompts to Test for Agent Readiness" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/05/22/llm-agent-readiness" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/05/22/llm-agent-readiness" />
<meta property="og:description" content="A series of prompts to test an LLM's capabilities to be used with AI agents" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/llm-agent-test-86ce2379ce4dde48ae1448f0f9d75c1f.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/llm-agent-test-86ce2379ce4dde48ae1448f0f9d75c1f.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="3 Prompts to Test for Agent Readiness" />
<meta name="twitter:description" content="A series of prompts to test an LLM's capabilities to be used with AI agents" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/llm-agent-test-86ce2379ce4dde48ae1448f0f9d75c1f.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/llm-agent-test-86ce2379ce4dde48ae1448f0f9d75c1f.png" />
</head>
@@ -88,12 +88,12 @@ Freeing up ports is something I know how to do. But I use AI tools like Goose fo
<head>
<meta property="og:title" content="How I Manage Localhost Port Conflicts With an AI Agent" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/05/22/manage-local-host-conflicts-with-goose" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/05/22/manage-local-host-conflicts-with-goose" />
<meta property="og:description" content="Learn how I use Goose, an open source AI agent, to manage conflicting ports without breaking my flow." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/hoarders-753809f09399a9e4f734006a8d74218d.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/hoarders-753809f09399a9e4f734006a8d74218d.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How I Manage Localhost Port Conflicts With an AI Agent" />
<meta name="twitter:description" content="Learn how I use Goose, an open source AI agent, to manage conflicting ports without breaking my flow." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/hoarders-753809f09399a9e4f734006a8d74218d.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/hoarders-753809f09399a9e4f734006a8d74218d.png" />
</head>
@@ -431,12 +431,12 @@ Block is dedicated to improving its security defenses and supporting its team by
<head>
<meta property="og:title" content="Democratizing Detection Engineering at Block: Taking Flight with Goose and Panther MCP" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/06/02/goose-panther-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/06/02/goose-panther-mcp" />
<meta property="og:description" content="A comprehensive overview of how Block leverages Goose and Panther MCP to democratize and accelerate security detection engineering." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-panther-header-25b5891acdd70e6a7bbe6b84e34f08f0.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-panther-header-25b5891acdd70e6a7bbe6b84e34f08f0.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Democratizing Detection Engineering at Block: Taking Flight with Goose and Panther MCP" />
<meta name="twitter:description" content="A comprehensive overview of how Block leverages Goose and Panther MCP to democratize and accelerate security detection engineering." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-panther-header-25b5891acdd70e6a7bbe6b84e34f08f0.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-panther-header-25b5891acdd70e6a7bbe6b84e34f08f0.png" />
</head>
@@ -124,13 +124,13 @@ Share your own `.goosehints` optimization stories in the [Goose community on Dis
<head>
<meta property="og:title" content="What's in my .goosehints file (and why it probably shouldn't be)" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/06/05/whats-in-my-goosehints-file" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/06/05/whats-in-my-goosehints-file" />
<meta property="og:description" content="Learn how to optimize your Goose configuration by understanding when to use .goosehints vs Memory Extension for better performance and maintainability." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/blog-banner-7f0e5ed1cf875e64e3ebb3250932baaf.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/blog-banner-7f0e5ed1cf875e64e3ebb3250932baaf.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="What's in my .goosehints file (and why it probably shouldn't be)" />
<meta name="twitter:description" content="Learn how to optimize your Goose configuration by understanding when to use .goosehints vs Memory Extension for better performance and maintainability." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/blog-banner-7f0e5ed1cf875e64e3ebb3250932baaf.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/blog-banner-7f0e5ed1cf875e64e3ebb3250932baaf.png" />
<meta name="keywords" content="Goose; .goosehints; Memory Extension MCP; AI configuration; performance optimization; developer productivity; context management; AI assistant; token costs; LLM efficiency" />
</head>
@@ -89,12 +89,12 @@ If you're experimenting with multi-model setups, [share what's working and what
<head>
<meta property="og:title" content="Treating LLMs Like Tools in a Toolbox: A Multi-Model Approach to Smarter AI Agents" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/06/16/multi-model-in-goose" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/06/16/multi-model-in-goose" />
<meta property="og:description" content="How Goose uses multiple LLMs within a single task, optimizing for speed, cost, and reliability in AI agent workflows" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/multi-model-ai-agent-d408feaeba3e13cafdbfe9377980bc3d.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/multi-model-ai-agent-d408feaeba3e13cafdbfe9377980bc3d.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Treating LLMs Like Tools in a Toolbox: A Multi-Model Approach to Smarter AI Agents" />
<meta name="twitter:description" content="How Goose uses multiple LLMs within a single task, optimizing for speed, cost, and reliability in AI agent workflows" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/multi-model-ai-agent-d408feaeba3e13cafdbfe9377980bc3d.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/multi-model-ai-agent-d408feaeba3e13cafdbfe9377980bc3d.png" />
</head>
@@ -97,12 +97,12 @@ Happy experimenting!
<head>
<meta property="og:title" content="Why I Used Goose to Build a Chaotic Emotion Detection App" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/06/17/goose-emotion-detection-app" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/06/17/goose-emotion-detection-app" />
<meta property="og:description" content="The joys of experimenting with computer vision using Goose, an MCP host" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/emotion-powered-ui-83b0e779f22a3a060eef7bb29e04090d.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/emotion-powered-ui-83b0e779f22a3a060eef7bb29e04090d.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Why I Used Goose to Build a Chaotic Emotion Detection App" />
<meta name="twitter:description" content="The joys of experimenting with computer vision using Goose, an MCP host" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/emotion-powered-ui-83b0e779f22a3a060eef7bb29e04090d.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/emotion-powered-ui-83b0e779f22a3a060eef7bb29e04090d.png" />
</head>
@@ -102,7 +102,7 @@ extensions:
---
*Questions? Join our [GitHub discussions](https://github.com/block/goose) or [Discord](https://discord.gg/goose-oss). Learn more about Dagger at [dagger.io](https://dagger.io/).*
*Questions? Join our [GitHub discussions](https://github.com/aaif-goose/goose) or [Discord](https://discord.gg/goose-oss). Learn more about Dagger at [dagger.io](https://dagger.io/).*
{/* Video Player */}
<div style={{ width: '100%', maxWidth: '800px', margin: '0 auto' }}>
@@ -121,12 +121,12 @@ extensions:
<head>
<meta property="og:title" content="Isolated Dev Environments in Goose with container-use" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/06/19/isolated-development-environments" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/06/19/isolated-development-environments" />
<meta property="og:description" content="Never worry about breaking your development setup again with containerized, git-branch-isolated development environments powered by container-use" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/sandbox-0b0f5e6f871cbf48ea1a0be243440aa1.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/sandbox-0b0f5e6f871cbf48ea1a0be243440aa1.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Isolated Dev Environments in Goose with container-use" />
<meta name="twitter:description" content="Never worry about breaking your development setup again with containerized, git-branch-isolated development environments powered by container-use" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/sandbox-0b0f5e6f871cbf48ea1a0be243440aa1.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/sandbox-0b0f5e6f871cbf48ea1a0be243440aa1.png" />
</head>
@@ -114,12 +114,12 @@ What everyday tasks are you delegating to AI agents? Let us know in [Discord](ht
<head>
<meta property="og:title" content="5 Boring Tasks I Gave to My AI Agent Today (That Saved Me Hours)" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/06/27/everyday-usecases-ai" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/06/27/everyday-usecases-ai" />
<meta property="og:description" content="Forget the flashy demos. Here's everyday use cases for AI." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/everyday-usage-of-ai-69f4444328b28bdc945e5ff9fc92034d.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/everyday-usage-of-ai-69f4444328b28bdc945e5ff9fc92034d.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="5 Boring Tasks I Gave to My AI Agent Today (That Saved Me Hours)" />
<meta name="twitter:description" content="Forget the flashy demos. Here's everyday use cases for AI." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/everyday-usage-of-ai-69f4444328b28bdc945e5ff9fc92034d.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/everyday-usage-of-ai-69f4444328b28bdc945e5ff9fc92034d.png" />
</head>
@@ -176,12 +176,12 @@ What will you build with subagents?
<head>
<meta property="og:title" content="Orchestrating 6 Subagents to Build a Collaborative API Playground for Kids" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/07/21/orchestrating-subagents" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/07/21/orchestrating-subagents" />
<meta property="og:description" content="Delegating backend, frontend, docs, and tests so six subagents could build collaborative API tool for kids." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/built-by-subagents-869a01d4b147ebdb54334dcc22dc521e.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/built-by-subagents-869a01d4b147ebdb54334dcc22dc521e.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Orchestrating 6 Subagents to Build a Collaborative API Playground for Kids" />
<meta name="twitter:description" content="Delegating backend, frontend, docs, and tests so six subagents could build collaborative API tool for kids." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/built-by-subagents-869a01d4b147ebdb54334dcc22dc521e.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/built-by-subagents-869a01d4b147ebdb54334dcc22dc521e.png" />
</head>
@@ -437,12 +437,12 @@ You caught me being an impolite AI! Even artificial beings should have better ma
<head>
<meta property="og:title" content="When AI Meets AI: Goose Desktop and CLI Collaborate" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/07/28/ai-to-ai" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/07/28/ai-to-ai" />
<meta property="og:description" content="I told Goose Desktop to go have a conversation with Goose CLI and what happened next was fascinating!" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/ai-to-ai-dc88f565e573f0825a4fde3c522d2b8b.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/ai-to-ai-dc88f565e573f0825a4fde3c522d2b8b.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="When AI Meets AI: Goose Desktop and CLI Collaborate" />
<meta name="twitter:description" content="I told Goose Desktop to go have a conversation with Goose CLI and what happened next was fascinating!" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/ai-to-ai-dc88f565e573f0825a4fde3c522d2b8b.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/ai-to-ai-dc88f565e573f0825a4fde3c522d2b8b.png" />
</head>
@@ -9,7 +9,7 @@ authors:
Creating effective security detections in Panther traditionally requires deep knowledge of detection logic, testing frameworks, and development workflows. The detection engineering team at Block has streamlined this process by building Goose recipes that automate the entire detection creation lifecycle from initial repository set up to pull request creation.
This blog post explores how to leverage Goose's [recipe](https://block.github.io/goose/docs/guides/recipes/) and [subrecipe](https://block.github.io/goose/docs/guides/recipes/subrecipes) system to create new detections in Panther with minimal manual intervention, ensuring consistency, quality, and adherence to team standards.
This blog post explores how to leverage Goose's [recipe](https://goose-docs.ai/docs/guides/recipes/) and [subrecipe](https://goose-docs.ai/docs/guides/recipes/subrecipes) system to create new detections in Panther with minimal manual intervention, ensuring consistency, quality, and adherence to team standards.
<!-- truncate -->
@@ -70,7 +70,7 @@ The detection creation recipe demonstrates the power of this approach by coordin
6. [**pr_creator**](#6-pr_creator-automated-pull-request-pipeline) - Pull request creation with proper formatting
### What about .goosehints?
In our [previous post](https://block.github.io/goose/blog/2025/06/02/goose-panther-mcp), we discussed using [.goosehints](/docs/guides/context-engineering/using-goosehints/) to provide persistent context to the Large Language Model (LLM). We continue to use `.goosehints` to define coding standards and universal preferences that guide LLM behavior.
In our [previous post](https://goose-docs.ai/blog/2025/06/02/goose-panther-mcp), we discussed using [.goosehints](/docs/guides/context-engineering/using-goosehints/) to provide persistent context to the Large Language Model (LLM). We continue to use `.goosehints` to define coding standards and universal preferences that guide LLM behavior.
However, to minimize redundancy and avoid conflicting guidance, we adopted a single reference file, `AGENTS.md`, as the source of truth for all agents. Each agent is directed to consult this file, while still supporting agent-specific instructions through their default context files (e.g. `.goosehints`, `CLAUDE.md` etc.) or rules (e.g. `.cursor/rules/`).
@@ -622,13 +622,13 @@ Whether you're building your first Goose recipe or looking to optimize existing
<head>
<meta property="og:title" content="Streamlining Detection Development with Goose Recipes" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/07/28/streamlining-detection-development-with-goose-recipes" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/07/28/streamlining-detection-development-with-goose-recipes" />
<meta property="og:description" content="A comprehensive guide to using recipes in Goose to streamline security detection development" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-recipes-detection-development-cover.png" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-recipes-detection-development-cover-cac8a9bea2d090ec2758a0b907bc9da8.png" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-recipes-detection-development-cover.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-recipes-detection-development-cover-cac8a9bea2d090ec2758a0b907bc9da8.png" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Streamlining Detection Development with Goose Recipes" />
<meta name="twitter:description" content="A comprehensive guide to using recipes in Goose to streamline security detection development" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-recipes-detection-development-cover.png" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-recipes-detection-development-cover-cac8a9bea2d090ec2758a0b907bc9da8.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-recipes-detection-development-cover.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-recipes-detection-development-cover-cac8a9bea2d090ec2758a0b907bc9da8.png" />
</head>
@@ -77,7 +77,7 @@ Join us for an evening in collaboration with Temporal and Dagger, where you'll g
This system isn't perfect. Right now, it's still a separate experience outside the Goose interface, and it doesn't scale well for events with different credit amounts or more complex needs.
We're working on it. Goose engineer, Mic Neale recently opened a [pull request](https://github.com/block/goose/pull/3507) to automate Goose's first-time setup. It simplifies the onboarding flow so new users can log into OpenRouter through their browser, securely authenticate, and get a pre-configured Goose setup without touching config files or copying API keys. It's a huge leap in user experience and lays the groundwork for future improvements.
We're working on it. Goose engineer, Mic Neale recently opened a [pull request](https://github.com/aaif-goose/goose/pull/3507) to automate Goose's first-time setup. It simplifies the onboarding flow so new users can log into OpenRouter through their browser, securely authenticate, and get a pre-configured Goose setup without touching config files or copying API keys. It's a huge leap in user experience and lays the groundwork for future improvements.
## Why This Approach Matters
@@ -89,14 +89,14 @@ Want us to run a Goose workshop or hackathon? Well bring the API credits. You
<head>
<meta property="og:title" content="How OpenRouter Unlocked Our Workshop Strategy" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/07/29/openrouter-unlocks-workshops" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/07/29/openrouter-unlocks-workshops" />
<meta property="og:description" content="How we used Open Router to provide frictionless LLM access for Goose workshops" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/scaling-ai-workshops-open-router-2af052d2b72f502ba14b06c4d784c0cc.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/scaling-ai-workshops-open-router-2af052d2b72f502ba14b06c4d784c0cc.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How OpenRouter Unlocked Our Workshop Strategy" />
<meta name="twitter:description" content="How we used Open Router to provide frictionless LLM access for Goose workshops" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/scaling-ai-workshops-open-router-2af052d2b72f502ba14b06c4d784c0cc.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/scaling-ai-workshops-open-router-2af052d2b72f502ba14b06c4d784c0cc.png" />
</head>
@@ -12,7 +12,7 @@ authors:
Machine learning and data science workflows are inherently iterative. You load data, explore patterns, build models, and refine your approach based on results. But traditional AI assistants lose context between interactions, forcing you to reload data and re-establish context repeatedly—making data-heavy development slow and expensive.
The [**MCP Jupyter Server**](https://github.com/block/mcp-jupyter) solves this by enabling AI agents like Goose to work directly with your Jupyter notebooks, maintaining persistent memory and state across interactions while letting the AI interact with your data through code execution rather than raw data transfer.
The [**MCP Jupyter Server**](https://github.com/aaif-goose/mcp-jupyter) solves this by enabling AI agents like Goose to work directly with your Jupyter notebooks, maintaining persistent memory and state across interactions while letting the AI interact with your data through code execution rather than raw data transfer.
<!--truncate-->
@@ -130,7 +130,7 @@ This fluid back-and-forth, where the assistant understands and builds upon the e
Here you can see an example notebook that was handled by the MCP Jupyter Server. The server
**[📓 View the Complete Demo Notebook](https://github.com/block/mcp-jupyter/blob/main/demos/demo.ipynb)**
**[📓 View the Complete Demo Notebook](https://github.com/aaif-goose/mcp-jupyter/blob/main/demos/demo.ipynb)**
The demo walks through a typical data science workflow:
- **Install Missing Libraries**: Installing missing libraries for the notebook
@@ -143,18 +143,18 @@ The demo walks through a typical data science workflow:
The MCP Jupyter Server integrates seamlessly with existing workflows and can also be used with the notebook viewer in VS Code based IDEs.
For detailed setup and configuration, check out the [complete documentation](https://block.github.io/mcp-jupyter/).
For detailed setup and configuration, check out the [complete documentation](https://aaif-goose.github.io/mcp-jupyter/).
<head>
<meta property="og:title" content="MCP Jupyter Server: Bringing Notebook Intelligence to AI Agents" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/06/24/mcp-jupyter-server" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/06/24/mcp-jupyter-server" />
<meta property="og:description" content="A powerful MCP server that enables AI agents to interact with Jupyter notebooks while preserving kernel state and variable context" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/data-goose-7fc60ab0a13a9e9b6c22172d6ac166ab.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/data-goose-7fc60ab0a13a9e9b6c22172d6ac166ab.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCP Jupyter Server: Bringing Notebook Intelligence to AI Agents" />
<meta name="twitter:description" content="A powerful MCP server that enables AI agents to interact with Jupyter notebooks while preserving kernel state and variable context" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/data-goose-7fc60ab0a13a9e9b6c22172d6ac166ab.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/data-goose-7fc60ab0a13a9e9b6c22172d6ac166ab.png" />
</head>
@@ -394,7 +394,7 @@ What we demonstrated in this workshop hints at a fascinating future for software
Want to try this yourself? Here's what you need:
1. **Install and Configure Goose**: Follow the [quickstart guide](https://block.github.io/goose/docs/quickstart)
1. **Install and Configure Goose**: Follow the [quickstart guide](https://goose-docs.ai/docs/quickstart)
2. **Start Small**: Try building a simple app first to get comfortable with the workflow
:::note
@@ -416,12 +416,12 @@ Remember, this is about prototyping and exploration, not production deployment.
<head>
<meta property="og:title" content="How 7 AI Agents Worked Together to Build an App in One Hour" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/10/vibe-coding-with-goose-building-apps-with-ai-agents" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/10/vibe-coding-with-goose-building-apps-with-ai-agents" />
<meta property="og:description" content="Learn how to build a full-stack AI app in under an hour using Goose's multi-agent orchestration, from planning to QA testing." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/header-image-b685ea475ff7b8ae3563317b347fddb0.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/header-image-b685ea475ff7b8ae3563317b347fddb0.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How 7 AI Agents Worked Together to Build an App in One Hour" />
<meta name="twitter:description" content="Learn how to build a full-stack AI app in under an hour using Goose's multi-agent orchestration, from planning to QA testing." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/header-image-b685ea475ff7b8ae3563317b347fddb0.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/header-image-b685ea475ff7b8ae3563317b347fddb0.png" />
</head>
@@ -111,12 +111,12 @@ Got questions or want to share your own Lead/Worker success stories? Join us in
<head>
<meta property="og:title" content="LLM Tag Team: Who Plans, Who Executes?" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/11/llm-tag-team-lead-worker-model" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/11/llm-tag-team-lead-worker-model" />
<meta property="og:description" content="Dive into Goose's Lead/Worker model where one LLM plans while another executes - a game-changing approach to AI collaboration that can save costs and boost efficiency." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/header-image-bed3ed59a52ea231c1da0707b9b6d287.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/header-image-bed3ed59a52ea231c1da0707b9b6d287.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="LLM Tag Team: Who Plans, Who Executes?" />
<meta name="twitter:description" content="Dive into Goose's Lead/Worker model where one LLM plans while another executes - a game-changing approach to AI collaboration that can save costs and boost efficiency." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/header-image-bed3ed59a52ea231c1da0707b9b6d287.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/header-image-bed3ed59a52ea231c1da0707b9b6d287.png" />
</head>
@@ -92,12 +92,12 @@ MCP-UI will continue to evolve, and may pick up more declarative ways for MCP-UI
<head>
<meta property="og:title" content="MCP UI: Bringing the Browser into the Agent" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/11/mcp-ui-post-browser-world" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/11/mcp-ui-post-browser-world" />
<meta property="og:description" content="A first look at a UI for agents built on the proposed MCP-UI extension" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/mcp-ui-shot-1b80ebfab25d885a8ead1ca24bb6cf13.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/mcp-ui-shot-1b80ebfab25d885a8ead1ca24bb6cf13.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCP UI: Bringing the Browser into the Agent" />
<meta name="twitter:description" content="A first look at a UI for agents built on the proposed MCP-UI extension" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/mcp-ui-shot-1b80ebfab25d885a8ead1ca24bb6cf13.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/mcp-ui-shot-1b80ebfab25d885a8ead1ca24bb6cf13.png" />
</head>
@@ -38,7 +38,7 @@ To keep pace with growing MCP complexity, **automated metadata validation become
## 2. System Overview: Modular and Composable Goose Recipes
The foundation of this framework is [Gooses recipe engine](https://block.github.io/goose/docs/guides/recipes/). Recipes define reusable, declarative workflows for AI-assisted tasks. Each one encapsulates a step—like generating predictions or comparing results—and can be composed into larger pipelines.
The foundation of this framework is [Gooses recipe engine](https://goose-docs.ai/docs/guides/recipes/). Recipes define reusable, declarative workflows for AI-assisted tasks. Each one encapsulates a step—like generating predictions or comparing results—and can be composed into larger pipelines.
We start with a core recipe that maps natural language queries to tool calls. It reads queries, analyzes the toolset, and produces structured JSON mappings. This recipe becomes the building block for workflows like:
@@ -61,9 +61,9 @@ The recipe starts by reading a plain text file containing natural language queri
```
List contributors to the block/mcp repository
List the top 10 contributors to block/goose
List the top 10 contributors to aaif-goose/goose
Show me the closed branches in block/mcp
Show me all branches in the block/goose repository
Show me all branches in the aaif-goose/goose repository
```
**Step 2: Ask Goose to Make Predictions**
@@ -96,7 +96,7 @@ instructions: |
{
"test_cases": [
{
"query": "Show me open pull requests in the block/goose repository",
"query": "Show me open pull requests in the aaif-goose/goose repository",
"expected": {
"tool": "tool_name",
"parameters": {
@@ -349,7 +349,7 @@ Here are two common types of mismatches the system detects:
- **Issue:** Tool name changed from `list_branches` to `get_repo_branches`, likely due to a tooltip or function name update
**❌ Example 2: Parameter Mismatch**
- **Query:** "Search for files containing console.log in block/goose"
- **Query:** "Search for files containing console.log in aaif-goose/goose"
- **Gold Standard:**
```json
{
@@ -564,12 +564,12 @@ With these building blocks in place, teams can confidently expand their automati
<head>
<meta property="og:title" content="Automated MCP Testing: Using Composable Goose Recipes to Validate Tool Metadata" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/12/mcp-testing" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/12/mcp-testing" />
<meta property="og:description" content="Automate MCP tool metadata validation using composable Goose recipes to catch regressions, optimize token usage, and ensure AI agents can reliably discover and use your tools" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/automated_mcp_testing-296dac2cd2b1b327e58854f4bfb0c89a.jpg" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/automated_mcp_testing-296dac2cd2b1b327e58854f4bfb0c89a.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Automated MCP Testing: Using Composable Goose Recipes to Validate Tool Metadata" />
<meta name="twitter:description" content="Automate MCP tool metadata validation using composable Goose recipes to catch regressions, optimize token usage, and ensure AI agents can reliably discover and use your tools" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/automated_mcp_testing-296dac2cd2b1b327e58854f4bfb0c89a.jpg" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/automated_mcp_testing-296dac2cd2b1b327e58854f4bfb0c89a.jpg" />
</head>
@@ -75,17 +75,17 @@ The PulseMCP implementation proves we're past the demo phase of AI agents. Real
---
*Want to build your own AI agent workflows? [Get started with Goose](https://block.github.io/goose/) and join the community of developers building the future of human-AI collaboration.*
*Want to build your own AI agent workflows? [Get started with Goose](https://goose-docs.ai/) and join the community of developers building the future of human-AI collaboration.*
<head>
<meta property="og:title" content="How PulseMCP Automated Their Newsletter Workflow with Goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/13/pulse-mcp-automates-recipe" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/13/pulse-mcp-automates-recipe" />
<meta property="og:description" content="PulseMCP used Goose recipes, subagents, and subrecipes to automate the boring parts of their newsletter workflow" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/pulsemcp-65abe93bd65402c122b395ae6bdadf95.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/pulsemcp-65abe93bd65402c122b395ae6bdadf95.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How PulseMCP Automated Their Newsletter Workflow with Goose" />
<meta name="twitter:description" content="PulseMCP used Goose recipes, subagents, and subrecipes to automate the boring parts of their newsletter workflow" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/pulsemcp-65abe93bd65402c122b395ae6bdadf95.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/pulsemcp-65abe93bd65402c122b395ae6bdadf95.png" />
</head>
@@ -76,12 +76,12 @@ These setups are just different ways to organize work, whether it's human work o
<head>
<meta property="og:title" content="Agents, Subagents, and Multi Agents: What They Are and When to Use Them" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/14/agent-coordination-patterns" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/14/agent-coordination-patterns" />
<meta property="og:description" content="A straightforward explanation of how agents are organized to work together" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/agent-coordination-52282acab8107e9503b17e471465ffa5.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/agent-coordination-52282acab8107e9503b17e471465ffa5.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Agents, Subagents, and Multi Agents: What They Are and When to Use Them" />
<meta name="twitter:description" content="A straightforward explanation of how agents are organized to work together" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/agent-coordination-52282acab8107e9503b17e471465ffa5.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/agent-coordination-52282acab8107e9503b17e471465ffa5.png" />
</head>
@@ -60,12 +60,12 @@ So if you're sitting there with a naked website that needs help, or if you've be
<head>
<meta property="og:title" content="How Goose Helped Me Rebuild My Website" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/14/how-goose-rebuilt-my-website" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/14/how-goose-rebuilt-my-website" />
<meta property="og:description" content="How a simple prompt transformed a blank website into a personal portfolio" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/blog_banner-656bd5e1014edfbcd313a9f799f9e9a5.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/blog_banner-656bd5e1014edfbcd313a9f799f9e9a5.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How Goose Helped Me Rebuild My Website" />
<meta name="twitter:description" content="How a simple prompt transformed a blank website into a personal portfolio" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/blog_banner-656bd5e1014edfbcd313a9f799f9e9a5.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/blog_banner-656bd5e1014edfbcd313a9f799f9e9a5.png" />
</head>
@@ -151,12 +151,12 @@ The early results suggest this approach resonates with developers who want to gr
<head>
<meta property="og:title" content="Transforming AI Assistance from Automation to Education: The Story Behind Goose Mentor Mode" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/14/transforming-ai-assistance-gooe-mentor-mode" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/14/transforming-ai-assistance-gooe-mentor-mode" />
<meta property="og:description" content="How a Junior developer's AI Agent confusion, led to creating an educational MCP extension that transforms Goose from an automation tool into a learning mentor." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-mentor-mode-header-77058a250a163440d791e057ef3196ea.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-mentor-mode-header-77058a250a163440d791e057ef3196ea.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Transforming AI Assistance from Automation to Education: The Story Behind Goose Mentor Mode" />
<meta name="twitter:description" content="How a Junior developer's AI Agent confusion, led to creating an educational MCP extension that transforms Goose from an automation tool into a learning mentor." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-mentor-mode-header-77058a250a163440d791e057ef3196ea.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-mentor-mode-header-77058a250a163440d791e057ef3196ea.png" />
</head>
@@ -73,15 +73,15 @@ Use [.goosehints](/docs/guides/context-engineering/using-goosehints/) files to a
**3. Memory extension**
The [Memory extension](https://block.github.io/goose/docs/mcp/memory-mcp) stores important information across sessions. Instead of re-explaining your project background, past decisions, or important context every time you start a new conversation, you can reference stored information. This keeps your prompts focused on the current task rather than repeating historical context.
The [Memory extension](https://goose-docs.ai/docs/mcp/memory-mcp) stores important information across sessions. Instead of re-explaining your project background, past decisions, or important context every time you start a new conversation, you can reference stored information. This keeps your prompts focused on the current task rather than repeating historical context.
**4. Recipes**
[Recipes](https://block.github.io/goose/docs/guides/recipes/) package complete task setups into reusable configurations, eliminating the need to provide lengthy instructions repeatedly. Instead of consuming tokens explaining complex workflows in every session, recipes contain all necessary instructions, extensions, and parameters upfront. This is particularly valuable for repetitive tasks where you'd otherwise spend significant tokens on setup and explanation. And if your recipe starts to feel overly lengthy, you can break the tasks up into [subrecipes](https://block.github.io/goose/docs/guides/recipes/subrecipes).
[Recipes](https://goose-docs.ai/docs/guides/recipes/) package complete task setups into reusable configurations, eliminating the need to provide lengthy instructions repeatedly. Instead of consuming tokens explaining complex workflows in every session, recipes contain all necessary instructions, extensions, and parameters upfront. This is particularly valuable for repetitive tasks where you'd otherwise spend significant tokens on setup and explanation. And if your recipe starts to feel overly lengthy, you can break the tasks up into [subrecipes](https://goose-docs.ai/docs/guides/recipes/subrecipes).
**5. Subagents**
[Subagents](https://block.github.io/goose/docs/guides/subagents) handle specific tasks in their own isolated sessions. This prevents your main conversation from getting cluttered with implementation details and tool outputs. You delegate work to subagents and only see the final results, keeping your primary context window clean and focused.
[Subagents](https://goose-docs.ai/docs/guides/subagents) handle specific tasks in their own isolated sessions. This prevents your main conversation from getting cluttered with implementation details and tool outputs. You delegate work to subagents and only see the final results, keeping your primary context window clean and focused.
**6. Short sessions**
@@ -89,7 +89,7 @@ Keep individual sessions focused on specific tasks. When you complete a task or
**7. Lead/worker model**
The [Lead/Worker model](https://block.github.io/goose/docs/tutorials/lead-worker) splits work between two models. The lead model handles high-level planning and decision-making, while the worker model executes the detailed implementation. This optimizes costs by using expensive models for strategic thinking and cheaper models for routine execution tasks.
The [Lead/Worker model](https://goose-docs.ai/docs/tutorials/lead-worker) splits work between two models. The lead model handles high-level planning and decision-making, while the worker model executes the detailed implementation. This optimizes costs by using expensive models for strategic thinking and cheaper models for routine execution tasks.
---
@@ -99,12 +99,12 @@ The next time your AI agent seems to 'forget' something important or goes off tr
<head>
<meta property="og:title" content="The AI Skeptics Guide to Context Windows" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/18/understanding-context-windows" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/18/understanding-context-windows" />
<meta property="og:description" content="Why do AI agents forget? Learn how context windows, tokens, and Goose help you manage memory and long conversations." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/contextwindow-fa46f7a54cfb23a538d62f0e4502e19e.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/contextwindow-fa46f7a54cfb23a538d62f0e4502e19e.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="The AI Skeptics Guide to Context Windows" />
<meta name="twitter:description" content="Why do AI agents forget? Learn how context windows, tokens, and Goose help you manage memory and long conversations." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/contextwindow-fa46f7a54cfb23a538d62f0e4502e19e.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/contextwindow-fa46f7a54cfb23a538d62f0e4502e19e.png" />
</head>
@@ -39,7 +39,7 @@ The whole process takes minutes instead of days, and the submitter gets immediat
## Goose in Headless Mode
We've covered headless mode in [tutorials](https://block.github.io/goose/docs/tutorials/headless-goose/) and [videos](https://www.youtube.com/@goose-oss/search?query=headless), but here's a quick recap: headless mode allows Goose to run without a graphical user interface, making it faster and more efficient for automated tasks. It excels in server environments as long as we're being _really_ clear about the instructions to follow, or a fallback if the instructions cannot be followed -- we don't want something half-finished or broken as a result if Goose gets stuck on what to do.
We've covered headless mode in [tutorials](https://goose-docs.ai/docs/tutorials/headless-goose/) and [videos](https://www.youtube.com/@goose-oss/search?query=headless), but here's a quick recap: headless mode allows Goose to run without a graphical user interface, making it faster and more efficient for automated tasks. It excels in server environments as long as we're being _really_ clear about the instructions to follow, or a fallback if the instructions cannot be followed -- we don't want something half-finished or broken as a result if Goose gets stuck on what to do.
We launch the Docker container with something like this:
@@ -89,12 +89,12 @@ Anyone can submit a recipe knowing it'll get a fair, thorough review. And when y
<head>
<meta property="og:title" content="I had Goose Build its Own Secure Recipe Scanner" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/kljaslkjasd" />
<meta property="og:url" content="https://goose-docs.ai/blog/kljaslkjasd" />
<meta property="og:description" content="Goose headless mode runs a containerized scanner for community recipe submissions." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-security-scanner-7fbe93f4a738fed2002e656fe66e715f.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-security-scanner-7fbe93f4a738fed2002e656fe66e715f.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="I had Goose Build its Own Secure Recipe Scanner" />
<meta name="twitter:description" content="Goose headless mode runs a containerized scanner for community recipe submissions." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-security-scanner-7fbe93f4a738fed2002e656fe66e715f.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-security-scanner-7fbe93f4a738fed2002e656fe66e715f.png" />
</head>
@@ -138,12 +138,12 @@ The future of interacting with AI relies on smarter interfaces. And with MCP-UI,
<head>
<meta property="og:title" content="MCP-UI: The Future of Agentic Interfaces" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/25/mcp-ui-future-agentic-interfaces" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/25/mcp-ui-future-agentic-interfaces" />
<meta property="og:description" content="Discover how MCP-UI is revolutionizing AI agent interactions by bringing rich, interactive web components directly into agent conversations, making AI more accessible and intuitive for everyone." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/mcpui-goose-44f248ede0eb5d2e0bddccf76e98b07e.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/mcpui-goose-44f248ede0eb5d2e0bddccf76e98b07e.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCP-UI: The Future of Agentic Interfaces" />
<meta name="twitter:description" content="Discover how MCP-UI is revolutionizing AI agent interactions by bringing rich, interactive web components directly into agent conversations, making AI more accessible and intuitive for everyone." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/mcpui-goose-44f248ede0eb5d2e0bddccf76e98b07e.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/mcpui-goose-44f248ede0eb5d2e0bddccf76e98b07e.png" />
</head>
@@ -55,12 +55,12 @@ There are currently several families of things it can show:
<head>
<meta property="og:title" content="Auto Visualiser with MCP-UI" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/27/autovisualiser-with-mcp-ui" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/27/autovisualiser-with-mcp-ui" />
<meta property="og:description" content="How Goose now automatically renders visual representations of data as you interact with it, powered by the new MCP-UI feature" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/autovis-banner-c6e34e561b2fad329ea00024c301e910.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/autovis-banner-c6e34e561b2fad329ea00024c301e910.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Auto Visualiser with MCP-UI" />
<meta name="twitter:description" content="How Goose now automatically renders visual representations of data as you interact with it, powered by the new MCP-UI feature" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/autovis-banner-c6e34e561b2fad329ea00024c301e910.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/autovis-banner-c6e34e561b2fad329ea00024c301e910.png" />
</head>
@@ -64,17 +64,17 @@ Thank you to Tetrate for supporting open source and making AI development more a
**What are you waiting for?** [Get started with goose](/)
*Got questions?* Explore our [docs](/docs/category/guides), browse the [blog](/blog), or join the conversation in our [Discord](https://discord.gg/goose-oss) and [GitHub Discussions](https://github.com/block/goose/discussions). Wed love to have you.
*Got questions?* Explore our [docs](/docs/category/guides), browse the [blog](/blog), or join the conversation in our [Discord](https://discord.gg/goose-oss) and [GitHub Discussions](https://github.com/aaif-goose/goose/discussions). Wed love to have you.
<head>
<meta property="og:title" content="Your First goose Experience Is On Us" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/27/get-started-for-free-with-tetrate" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/27/get-started-for-free-with-tetrate" />
<meta property="og:description" content="New goose users receive $10 in Tetrate Agent Router credits for instant access to multiple models including GPT-5 and Sonnet-4." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/tetrate-header-9e2afbf5d1ce961d5f25547a7439c65f.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/tetrate-header-9e2afbf5d1ce961d5f25547a7439c65f.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Your First goose Experience Is On Us" />
<meta name="twitter:description" content="New goose users receive $10 in Tetrate Agent Router credits for instant access to multiple models including GPT-5 and Sonnet-4" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/tetrate-header-9e2afbf5d1ce961d5f25547a7439c65f.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/tetrate-header-9e2afbf5d1ce961d5f25547a7439c65f.png" />
</head>
@@ -55,7 +55,7 @@ The recipe:
- Handles different flag implementations, ranging in complexity
- Attempts refactoring for outdated code paths
- Can automatically create draft pull requests, via the GitHub CLI
- Integrates with [Xcode Index MCP](https://github.com/block/xcode-index-mcp) for deep iOS project understanding
- Integrates with [Xcode Index MCP](https://github.com/aaif-goose/xcode-index-mcp) for deep iOS project understanding
- Plans, implements, builds and tests locally to improve the accuracy of the flag removal result
@@ -96,12 +96,12 @@ Want to tweak the base recipe for your own needs? Check out [Clean up feature fl
<head>
<meta property="og:title" content="When AI Becomes Your New Team Member: The Story of Goose Janitor" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/08/28/ai-teammate" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/08/28/ai-teammate" />
<meta property="og:description" content="How an engineering team is trialling autonomous AI-powered technical debt cleanup" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-janitor-129889884d9265d001fe12cbfde03d57.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-janitor-129889884d9265d001fe12cbfde03d57.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="When AI Becomes Your New Team Member: The Story of Goose Janitor" />
<meta name="twitter:description" content="How an engineering team is trialling autonomous AI-powered technical debt cleanup" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-janitor-129889884d9265d001fe12cbfde03d57.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-janitor-129889884d9265d001fe12cbfde03d57.png" />
</head>
@@ -335,12 +335,12 @@ Download [goose](/docs/quickstart#install-goose), give an MCP server a UI faceli
<head>
<meta property="og:title" content="How to Make An MCP Server MCP-UI Compatible" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/09/08/turn-any-mcp-server-mcp-ui-compatible" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/09/08/turn-any-mcp-server-mcp-ui-compatible" />
<meta property="og:description" content="How I made existing MCP servers MCP-UI compatible with just a few lines of code." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/mcp-ui-0a7ec9ab9d9b8b0f84e1372e956cfbde.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/mcp-ui-0a7ec9ab9d9b8b0f84e1372e956cfbde.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How to Make An MCP Server MCP-UI Compatible" />
<meta name="twitter:description" content="How I made existing MCP servers MCP-UI compatible with just a few lines of code." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/mcp-ui-0a7ec9ab9d9b8b0f84e1372e956cfbde.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/mcp-ui-0a7ec9ab9d9b8b0f84e1372e956cfbde.png" />
</head>
@@ -379,23 +379,23 @@ Ready to start building your own subrecipe workflows? The kitchen is open, and a
## Share Your Recipes with Us!
Do you have a recipe you'd like to share with the community? We'd love to feature them in our [Recipe Cookbook](https://block.github.io/goose/recipes/)!
Do you have a recipe you'd like to share with the community? We'd love to feature them in our [Recipe Cookbook](https://goose-docs.ai/recipes/)!
**How to contribute:**
1. [Fork the goose repository](https://github.com/block/goose/fork)
2. Add your recipe YAML file to the [`documentation/src/pages/recipes/data/recipes/`](https://github.com/block/goose/tree/main/documentation/src/pages/recipes/data/recipes) directory
3. Create a pull request following our [Recipe Contribution Guide](https://github.com/block/goose/blob/main/CONTRIBUTING_RECIPES.md)
Browse [existing recipes](https://github.com/block/goose/tree/main/documentation/src/pages/recipes/data/recipes) for inspiration and formatting examples.
1. [Fork the goose repository](https://github.com/aaif-goose/goose/fork)
2. Add your recipe YAML file to the [`documentation/src/pages/recipes/data/recipes/`](https://github.com/aaif-goose/goose/tree/main/documentation/src/pages/recipes/data/recipes) directory
3. Create a pull request following our [Recipe Contribution Guide](https://github.com/aaif-goose/goose/blob/main/CONTRIBUTING_RECIPES.md)
Browse [existing recipes](https://github.com/aaif-goose/goose/tree/main/documentation/src/pages/recipes/data/recipes) for inspiration and formatting examples.
<head>
<meta property="og:title" content="Automate Your Complex Workflows with Subrecipes in goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025-09-15-subrecipes-in-goose" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025-09-15-subrecipes-in-goose" />
<meta property="og:description" content="Did you know you can call recipes from within other recipes? Learn how to orchestrate multiple AI tasks using goose subrecipes." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-subrecipes-8a009154ceca95aeb34bf22fcc45dcca.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-subrecipes-8a009154ceca95aeb34bf22fcc45dcca.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Automate Your Complex Workflows with Subrecipes in goose" />
<meta name="twitter:description" content="Did you know you can call recipes from within other recipes? Learn how to orchestrate multiple AI tasks using goose subrecipes." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-subrecipes-8a009154ceca95aeb34bf22fcc45dcca.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-subrecipes-8a009154ceca95aeb34bf22fcc45dcca.png" />
</head>
@@ -15,9 +15,9 @@ October is around the corner, which means spooky season is upon us, and with tha
[Hacktoberfest](https://hacktoberfest.com/participation/) is a month-long celebration every October of open source and participating open source projects. It's a great chance to earn fun prizes for contributing to your favorite projects, or a perfect opportunity to get your feet wet in a new project.
# 🎉 How Can I Contribute to goose?
In the [goose repo](https://github.com/block/goose), there's something for everyone no matter if you're a newbie or a veteran.
In the [goose repo](https://github.com/aaif-goose/goose), there's something for everyone no matter if you're a newbie or a veteran.
We've created an official [goose Hacktoberfest 2025 Project Hub](https://github.com/block/goose/issues/4705). This hub will serve as your source of truth for all open `hacktoberfest` labeled-issues and resources you will need throughout the month. It will be updated every week with new issues as we experience contributions, so make sure to bookmark it!
We've created an official [goose Hacktoberfest 2025 Project Hub](https://github.com/aaif-goose/goose/issues/4705). This hub will serve as your source of truth for all open `hacktoberfest` labeled-issues and resources you will need throughout the month. It will be updated every week with new issues as we experience contributions, so make sure to bookmark it!
From writing blog posts about goose, fixing bugs, or adding new features, our goal is to give contributors of various practices the chance to contribute to goose! Here are all the categories of issues you can expect to make your impact:
@@ -33,9 +33,9 @@ From writing blog posts about goose, fixing bugs, or adding new features, our go
To help you make the most of each of your contributions, below is a quick guide on general rules to follow, important resources, how top contributors are tallied, and more below:
## ✅ Key Rules
1. Read the [code of conduct](https://github.com/block/.github/blob/main/CODE_OF_CONDUCT.md).
2. Refer to the [Responsible AI-Assisted Coding Guide](https://web.archive.org/web/20260305122657/https://github.com/block/goose/blob/main/HOWTOAI.md), [Contributing Guide](https://github.com/block/goose/blob/main/CONTRIBUTING.md) & [README](https://github.com/block/goose/blob/main/README.md) for your contributions.
3. Choose a task from this project's Hacktoberfest [Project Hub](https://github.com/block/goose/issues/4705). Each issue has the 🏷️ `hacktoberfest` label.
1. Read the [code of conduct](https://github.com/aaif-goose/.github/blob/main/CODE_OF_CONDUCT.md).
2. Refer to the [Responsible AI-Assisted Coding Guide](https://web.archive.org/web/20260305122657/https://github.com/aaif-goose/goose/blob/main/HOWTOAI.md), [Contributing Guide](https://github.com/aaif-goose/goose/blob/main/CONTRIBUTING.md) & [README](https://github.com/aaif-goose/goose/blob/main/README.md) for your contributions.
3. Choose a task from this project's Hacktoberfest [Project Hub](https://github.com/aaif-goose/goose/issues/4705). Each issue has the 🏷️ `hacktoberfest` label.
4. Comment ".take" on the corresponding issue to get assigned the task.
5. Fork the repository and create a new branch for your work.
6. Make your changes and submit a pull request.
@@ -75,7 +75,7 @@ When in doubt, don't stress! The goose team is here to help you make the most of
1. 🆘 Maintainer Help: Connect with the maintainers by commenting on the issue or chat with them directly in the #🎃┃hacktoberfest channel on Discord.
2. 🫶 Community Support: [Join us on Discord](https://discord.gg/goose-oss) to live chat with fellow contributors and get tips for success from participants!
3. 🎙️ Office Hours: Join us every Tuesday at 1pm Eastern Time on [Discord](https://discord.gg/goose-oss) through the month of October to get live-over-voice help with open PRs, questions you may have, and general help. Keep an eye out on the [goose events calendar](https://block.github.io/goose/community/) for future events centered around Hacktoberfest!
3. 🎙️ Office Hours: Join us every Tuesday at 1pm Eastern Time on [Discord](https://discord.gg/goose-oss) through the month of October to get live-over-voice help with open PRs, questions you may have, and general help. Keep an eye out on the [goose events calendar](https://goose-docs.ai/community/) for future events centered around Hacktoberfest!
Happy hacking and cheers to goose x Hacktoberfest 2025! 🎉
@@ -85,12 +85,12 @@ Happy hacking and cheers to goose x Hacktoberfest 2025! 🎉
<head>
<meta property="og:title" content="goose is Celebrating Hacktoberfest 2025!" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025-09-26-hacktoberfest2025" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025-09-26-hacktoberfest2025" />
<meta property="og:description" content="Explore goose prizes you can earn and contributions you can make during Hacktoberfest 2025" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/hacktoberfest2025-49342480747ee95fe69415c0f2de26f2.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/hacktoberfest2025-49342480747ee95fe69415c0f2de26f2.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="goose is Celebrating Hacktoberfest 2025!" />
<meta name="twitter:description" content="Explore goose prizes you can earn and contributions you can make during Hacktoberfest 2025" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/hacktoberfest2025-49342480747ee95fe69415c0f2de26f2.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/hacktoberfest2025-49342480747ee95fe69415c0f2de26f2.png" />
</head>
@@ -112,19 +112,19 @@ The choice depends on your specific needs and workflow requirements. Quick tasks
Your workflow requirements should drive the decision.
Share your subagent prompts or subrecipe ideas with us on our [Discord community](https://discord.gg/goose-oss) or [GitHub discussions](https://github.com/block/goose/discussions).
Share your subagent prompts or subrecipe ideas with us on our [Discord community](https://discord.gg/goose-oss) or [GitHub discussions](https://github.com/aaif-goose/goose/discussions).
<head>
<meta property="og:title" content="How to Choose Between Subagents and Subrecipes in goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025-09-26-subagents-vs-subrecipes" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025-09-26-subagents-vs-subrecipes" />
<meta property="og:description" content="When you need to break complex work into multiple AI tasks, should you use subagents or subrecipes? Learn the key differences and when to use each approach." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/subrecipes-vs-subagents-19bca16b86a951e4618be8ab6ce90fb2.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/subrecipes-vs-subagents-19bca16b86a951e4618be8ab6ce90fb2.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How to Choose Between Subagents and Subrecipes in goose" />
<meta name="twitter:description" content="When you need to break complex work into multiple AI tasks, should you use subagents or subrecipes? Learn the key differences and when to use each approach." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/subrecipes-vs-subagents-19bca16b86a951e4618be8ab6ce90fb2.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/subrecipes-vs-subagents-19bca16b86a951e4618be8ab6ce90fb2.png" />
</head>
@@ -92,7 +92,7 @@ The tool should automatically identify good candidates for parameters. I had ide
### 4. Template Generation
:::tip
I wanted goose to write all the recipes for me, but to be as up-to-date as possible. I cloned the [goose repository](https://github.com/block/goose) and told goose to examine its own source code to learn how to successfully create recipes, and be sure to use proper YAML syntax.
I wanted goose to write all the recipes for me, but to be as up-to-date as possible. I cloned the [goose repository](https://github.com/aaif-goose/goose) and told goose to examine its own source code to learn how to successfully create recipes, and be sure to use proper YAML syntax.
:::
From that, I had goose think about the following ideas as it considered how to make my recipes:
@@ -169,7 +169,7 @@ Start building your own cookbook generator, and stop doing the same work twice.
## Contribute to Our Community Cookbook
Want to contribute your own recipes or improvements to the cookbook generator? Join our [Discord community](https://discord.gg/goose-oss) or check out our [GitHub repository](https://github.com/block/goose) for more automation ideas. Join our [Hacktoberfest](https://github.com/block/goose/issues/4705) event going on to contribute recipes and prompt ideas to get on our leaderboard to win some great prizes!
Want to contribute your own recipes or improvements to the cookbook generator? Join our [Discord community](https://discord.gg/goose-oss) or check out our [GitHub repository](https://github.com/aaif-goose/goose) for more automation ideas. Join our [Hacktoberfest](https://github.com/aaif-goose/goose/issues/4705) event going on to contribute recipes and prompt ideas to get on our leaderboard to win some great prizes!
## My Own Cookbook Generator Recipe
@@ -358,12 +358,12 @@ activities:
<head>
<meta property="og:title" content="Build Your Own Recipe Cookbook Generator for goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/10/08/recipe-cookbook-generator" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/10/08/recipe-cookbook-generator" />
<meta property="og:description" content="Discover how goose can study your past sessions and turn your favorite workflows into reusable automation templates." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/recipe-cookbook-generator-ba6ce396585e1fc591e339720ee80a30.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/recipe-cookbook-generator-ba6ce396585e1fc591e339720ee80a30.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Build Your Own Recipe Cookbook Generator for goose" />
<meta name="twitter:description" content="Discover how goose can study your past sessions and turn your favorite workflows into reusable automation templates." />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/recipe-cookbook-generator-ba6ce396585e1fc591e339720ee80a30.png" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/recipe-cookbook-generator-ba6ce396585e1fc591e339720ee80a30.png" />
</head>
@@ -16,7 +16,7 @@ My mom was doing her usual Sunday ritual she had her pen, paper, calculator, and
Last month, halfway through crunching numbers, she sighed and said,
> “I just wish I could see where my moneys going.”
So I opened [**goose**](http://block.github.io/goose/docs/quickstart), added her notes, and turned on [**Auto Visualiser**](https://block.github.io/goose/docs/mcp/autovisualiser-mcp). In seconds, her budget became this colorful, interactive chart. She hovered over each slice, analyzing where her money was going.
So I opened [**goose**](http://goose-docs.ai/docs/quickstart), added her notes, and turned on [**Auto Visualiser**](https://goose-docs.ai/docs/mcp/autovisualiser-mcp). In seconds, her budget became this colorful, interactive chart. She hovered over each slice, analyzing where her money was going.
Now, I'm not saying this is some groundbreaking use case. There are plenty of apps that do this. What stood out to me was how simple it felt. My mom didnt need to learn anything new or adapt to someone elses design. The visualization just appeared, and she got it immediately.
@@ -49,7 +49,7 @@ Both point to the same future: one where AI doesnt just reply with text, but
Thats what Agentic UX is really about: building AI that responds to what the user intends to do.
If youre building your own MCP server, start by thinking about the experience you want your users to have. Then experiment with MCP-UI and design the flow youd expect if you were the one using it. For a full walkthrough, see [How To Make An MCP Server MCP-UI Compatible](https://block.github.io/goose/blog/2025/09/08/turn-any-mcp-server-mcp-ui-compatible).
If youre building your own MCP server, start by thinking about the experience you want your users to have. Then experiment with MCP-UI and design the flow youd expect if you were the one using it. For a full walkthrough, see [How To Make An MCP Server MCP-UI Compatible](https://goose-docs.ai/blog/2025/09/08/turn-any-mcp-server-mcp-ui-compatible).
---
@@ -59,12 +59,12 @@ I have a feeling that next month, when my mom sits down to balance her bills, sh
<head>
<meta property="og:title" content="Designing AI for Users, Not Just LLMs" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/10/14/designing-ai-for-humans" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/10/14/designing-ai-for-humans" />
<meta property="og:description" content="Building intent-based AI experiences with MCP-UI." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/design-ai-de5d0af69d8d21111dd271624ac7cab3.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/design-ai-de5d0af69d8d21111dd271624ac7cab3.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Designing AI for Users, Not Just LLMs" />
<meta name="twitter:description" content="Building intent-based AI experiences with MCP-UI." />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/design-ai-de5d0af69d8d21111dd271624ac7cab3.png" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/design-ai-de5d0af69d8d21111dd271624ac7cab3.png" />
</head>
@@ -65,18 +65,18 @@ If you're ready to see how fast and simple this setup really is, watch the full
<iframe class="aspect-ratio" src="https://www.youtube.com/embed/Hvu5KDTb6JE" title="Vibe Code with goose: Intro to ACP" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
*Ready to integrate goose directly into your editor? Get started with our [ACP setup guide](https://block.github.io/goose/docs/guides/acp-clients) and share your experience in our [Discord community](http://discord.gg/goose-oss).*
*Ready to integrate goose directly into your editor? Get started with our [ACP setup guide](https://goose-docs.ai/docs/guides/acp-clients) and share your experience in our [Discord community](http://discord.gg/goose-oss).*
<head>
<meta property="og:title" content="Intro to Agent Client Protocol (ACP): The Standard for AI Agent-Editor Integration" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/10/24/intro-to-agent-client-protocol-acp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/10/24/intro-to-agent-client-protocol-acp" />
<meta property="og:description" content="Fix the awkward gap between AI agents and code editors with the Agent Client Protocol (ACP). Learn why this new open standard makes agents like goose truly editor-agnostic, improving AI-human collaboration and restoring developer flow state. ACP works alongside protocols like MCP to create an open AI tooling ecosystem." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/choose-your-ide-c308664c1783e1651d9a4f4d6ff7d731.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/choose-your-ide-c308664c1783e1651d9a4f4d6ff7d731.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Intro to Agent Client Protocol (ACP): The Standard for AI Agent-Editor Integration" />
<meta name="twitter:description" content="Fix the awkward gap between AI agents and code editors with the Agent Client Protocol (ACP). Learn why this new open standard makes agents like goose truly editor-agnostic, improving AI-human collaboration and restoring developer flow state. ACP works alongside protocols like MCP to create an open AI tooling ecosystem." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/choose-your-ide-c308664c1783e1651d9a4f4d6ff7d731.png"/>
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/choose-your-ide-c308664c1783e1651d9a4f4d6ff7d731.png"/>
</head>
@@ -133,12 +133,12 @@ I hope this clarifies how to converse with an agent and accomplish complex tasks
<head>
<meta property="og:title" content="How to Successfully Migrate Your App with an AI Agent" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/11/17/migrate-app-with-ai-agent" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/11/17/migrate-app-with-ai-agent" />
<meta property="og:description" content="A step-by-step prompt strategy for AI-assisted code migration with real examples from a Next.js refactor" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/migrate-app-ai-agent-e8e3dcddf74909b6f84f85c8c776aaed.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/migrate-app-ai-agent-e8e3dcddf74909b6f84f85c8c776aaed.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How to Successfully Migrate Your App with an AI Agent" />
<meta name="twitter:description" content="A step-by-step prompt strategy for AI-assisted code migration with real examples from a Next.js refactor" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/migrate-app-ai-agent-e8e3dcddf74909b6f84f85c8c776aaed.png"/>
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/migrate-app-ai-agent-e8e3dcddf74909b6f84f85c8c776aaed.png"/>
</head>
@@ -183,7 +183,7 @@ Sometimes the right move is to reduce instead of add, and this new version ended
To fully automate this workflow, you must schedule your recipe.
In goose Desktop, open the `recipe` section, click the `calendar icon` , and choose when it should run (I set mine to 10 AM daily).
You can read more in the [Reusable Recipes Guide](https://block.github.io/goose/docs/guides/recipes/session-recipes#schedule-recipe).
You can read more in the [Shareable Recipes Guide](https://goose-docs.ai/docs/guides/recipes/session-recipes#schedule-recipe).
:::
<details>
@@ -459,12 +459,12 @@ Got questions or ideas? Come chat with us on [Discord](https://discord.gg/block-
<head>
<meta property="og:title" content="Building a Social Media Agent" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/11/21/building-social-media-agent" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/11/21/building-social-media-agent" />
<meta property="og:description" content="I built a fully automated social media agent using MCP servers to fetch content and post through Sprout Social." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/header-image-7f5ab50f65332fb53302ca30a3f86e46.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/header-image-7f5ab50f65332fb53302ca30a3f86e46.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Building a Social Media Agent" />
<meta name="twitter:description" content="I built a fully automated social media agent using MCP servers to fetch content and post through Sprout Social." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/header-image-7f5ab50f65332fb53302ca30a3f86e46.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/header-image-7f5ab50f65332fb53302ca30a3f86e46.png" />
</head>
@@ -132,12 +132,12 @@ P.S. Happy first birthday, MCP! 🎉
<head>
<meta property="og:title" content="MCPs for Developers Who Think They Don't Need MCPs" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/11/26/mcp-for-devs" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/11/26/mcp-for-devs" />
<meta property="og:description" content="If you think MCPs are overhyped, here's what you're missing" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/mcp-for-devs-0cbea02edffded1a26cec5f19a2a61b1.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/mcp-for-devs-0cbea02edffded1a26cec5f19a2a61b1.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCPs for Developers Who Think They Don't Need MCPs" />
<meta name="twitter:description" content="If you think MCPs are overhyped, here's what you're missing" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/mcp-for-devs-0cbea02edffded1a26cec5f19a2a61b1.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/mcp-for-devs-0cbea02edffded1a26cec5f19a2a61b1.png" />
</head>
@@ -55,12 +55,12 @@ The first challenge unlocks December 1st at 12 PM ET. The Winter Festival needs
<head>
<meta property="og:title" content="Announcing Advent of AI" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/11/30/announcing-advent-of-ai" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/11/30/announcing-advent-of-ai" />
<meta property="og:description" content="We're launching an advent calendar of AI engineering challenges to help you build applicable projects with goose." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/advent-of-ai-header-7076e6e92caf243b488ff6ea0082c48e.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/advent-of-ai-header-7076e6e92caf243b488ff6ea0082c48e.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Announcing Advent of AI" />
<meta name="twitter:description" content="We're launching an advent calendar of AI engineering challenges to help you build applicable projects with goose." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/advent-of-ai-header-7076e6e92caf243b488ff6ea0082c48e.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/advent-of-ai-header-7076e6e92caf243b488ff6ea0082c48e.png" />
</head>
@@ -54,7 +54,7 @@ The `ctx.sample()` call sends a prompt back to the connected AI and waits for a
## A Real Example: Council of Mine
[Council of Mine](https://github.com/block/mcp-council-of-mine) is an MCP server that takes sampling to an extreme. It simulates a council of nine AI personas who debate topics and vote on each other's opinions.
[Council of Mine](https://github.com/aaif-goose/mcp-council-of-mine) is an MCP server that takes sampling to an extreme. It simulates a council of nine AI personas who debate topics and vote on each other's opinions.
But there's no LLM running inside the server. Every opinion, every vote, every bit of reasoning comes from sampling requests back to the user's connected LLM.
@@ -200,12 +200,12 @@ If you want to see sampling in action, [Council of Mine](/docs/mcp/council-of-mi
<head>
<meta property="og:title" content="MCP Sampling: When Your Tools Need to Think" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/12/04/mcp-sampling" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/12/04/mcp-sampling" />
<meta property="og:description" content="Learn how MCP Sampling lets your tools call the AI instead of the other way around." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/mcp-sampling-4e857d422eb4fcbfbf474003069ba732.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/mcp-sampling-4e857d422eb4fcbfbf474003069ba732.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="MCP Sampling: When Your Tools Need to Think" />
<meta name="twitter:description" content="Learn how MCP Sampling lets your tools call the AI instead of the other way around." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/mcp-sampling-4e857d422eb4fcbfbf474003069ba732.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/mcp-sampling-4e857d422eb4fcbfbf474003069ba732.png" />
</head>
@@ -46,12 +46,12 @@ Try out this method with [goose](/) to help you build your next project. Your fu
<head>
<meta property="og:title" content="How to Stop Your AI Agent From Making Unwanted Changes" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/12/10/stop-ai-agent-unwanted-changes" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/12/10/stop-ai-agent-unwanted-changes" />
<meta property="og:description" content="AI agents are often described as brilliant, overeager interns. Learn how to keep them in control with simple version control practices." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/header-image-ce224702149226ea0924fac736eef2fa.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/header-image-ce224702149226ea0924fac736eef2fa.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How to Stop Your AI Agent From Making Unwanted Changes" />
<meta name="twitter:description" content="AI agents are often described as brilliant, overeager interns. Learn how to keep them in control with simple version control practices." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/header-image-ce224702149226ea0924fac736eef2fa.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/header-image-ce224702149226ea0924fac736eef2fa.png" />
</head>
@@ -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 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
* Try out the feature by enabling the ["Code Mode" extension](https://github.com/aaif-goose/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!
@@ -55,12 +55,12 @@ Kudos to my colleague [Mic Neale](https://github.com/michaelneale) for collabora
<head>
<meta property="og:title" content="Code Mode MCP in goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/12/15/code-mode-mcp-in-goose" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/12/15/code-mode-mcp-in-goose" />
<meta property="og:description" content="An emerging approach to MCP tool calling gets an open source implementation in goose" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/header-image-1fa39f1d26aea7722e2c10fc424804f5.jpg" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/header-image-1fa39f1d26aea7722e2c10fc424804f5.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Code Mode MCP in goose" />
<meta name="twitter:description" content="An emerging approach to MCP tool calling gets an open source implementation in goose" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/header-image-1fa39f1d26aea7722e2c10fc424804f5.jpg" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/header-image-1fa39f1d26aea7722e2c10fc424804f5.jpg" />
</head>
@@ -21,7 +21,7 @@ Lately, there's been a healthy debate in the industry about planning in AI codin
This reveals an interesting truth: the value of a plan mode isn't just about the plan itself. It's about creating the right mental model and workflow for the developer using it. Sometimes you want the agent to just execute. Other times, you want to see its thinking, provide feedback, and collaborate on the approach before any code changes happen.
Rather than picking one philosophy, [goose](https://github.com/block/goose) supports multiple approaches because different situations call for different methods.
Rather than picking one philosophy, [goose](https://github.com/aaif-goose/goose) supports multiple approaches because different situations call for different methods.
---
@@ -91,13 +91,13 @@ The question isn't whether to plan. The question is which kind of planning fits
<head>
<meta property="og:title" content="Does Your AI Agent Need a Plan?" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/12/19/does-your-ai-agent-need-a-plan" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/12/19/does-your-ai-agent-need-a-plan" />
<meta property="og:description" content="Planning with an AI produces good results. Knowing when and how to plan with an AI agent produces even better ones." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/blog-banner-69252aa3455f8a3a303f102c530922f3.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/blog-banner-69252aa3455f8a3a303f102c530922f3.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Does Your AI Agent Need a Plan?" />
<meta name="twitter:description" content="Planning with an AI produces good results. Knowing when and how to plan with an AI agent produces even better ones." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/blog-banner-69252aa3455f8a3a303f102c530922f3.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/blog-banner-69252aa3455f8a3a303f102c530922f3.png" />
<meta name="keywords" content="goose, AI planning, AI agents, plan mode, developer workflow, context engineering, goosehints, todo extension, AI coding assistant, software development" />
</head>
@@ -55,12 +55,12 @@ Try them out and let us know what you think in our [Discord](https://discord.gg/
<head>
<meta property="og:title" content="goose Mobile Access and Native Terminal Support" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/12/19/goose-mobile-terminal" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/12/19/goose-mobile-terminal" />
<meta property="og:description" content="Two new ways to use goose" />
<meta property="og:image" content="https://block.github.io/goose/blog/2025/12/19/goose-mobile-terminal/mobile_shots.png" />
<meta property="og:image" content="https://goose-docs.ai/blog/2025/12/19/goose-mobile-terminal/mobile_shots.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="goose mobile access and native terminal support" />
<meta name="twitter:description" content="Two new ways to use goose" />
<meta name="twitter:image" content="https://block.github.io/goose/blog/2025/12/19/goose-mobile-terminal/mobile_shots.png" />
<meta name="twitter:image" content="https://goose-docs.ai/blog/2025/12/19/goose-mobile-terminal/mobile_shots.png" />
</head>
@@ -95,9 +95,9 @@ Therefore, it doesn't make sense for me to use Code Mode when:
The cool part is Code Mode is only getting better. The team is currently refining Code Mode following its release in goose v1.17.0 (December 2025):
- [Better UX](https://github.com/block/goose/pull/6205) - showing what tools are being called instead of raw JavaScript
- [Better reliability](https://github.com/block/goose/pull/6177) - improving type signatures so LLMs get the code right the first time
- [More capabilities](https://github.com/block/goose/pull/6160) - enabling subagents to work inside Code Mode
- [Better UX](https://github.com/aaif-goose/goose/pull/6205) - showing what tools are being called instead of raw JavaScript
- [Better reliability](https://github.com/aaif-goose/goose/pull/6177) - improving type signatures so LLMs get the code right the first time
- [More capabilities](https://github.com/aaif-goose/goose/pull/6160) - enabling subagents to work inside Code Mode
Code Mode helps us take a step forward in building agents that can scale to handle all your tools without falling apart. I love seeing how MCP is evolving, and I can't wait for the day I tell my children that agents weren't always this limitless and that we actually used to have to ration our tools just to get a simple task done.
@@ -108,13 +108,13 @@ Code Mode helps us take a step forward in building agents that can scale to hand
<head>
<meta property="og:title" content="Code Mode Doesn't Replace MCP (Here's What It Actually Does)" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/12/21/code-mode-doesnt-replace-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/12/21/code-mode-doesnt-replace-mcp" />
<meta property="og:description" content="Code Mode isn't killing MCP. It makes it better. A practical look at how Code Mode works with MCP to solve tool bloat and performance issues in agents." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/header-image-c7b1f3556c63058f53eeb740bdaffa3b.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/header-image-c7b1f3556c63058f53eeb740bdaffa3b.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Code Mode Doesn't Replace MCP (Here's What It Actually Does)" />
<meta name="twitter:description" content="Code Mode isn't killing MCP. It makes it better. A practical look at how Code Mode works with MCP to solve tool bloat and performance issues in agents." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/header-image-c7b1f3556c63058f53eeb740bdaffa3b.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/header-image-c7b1f3556c63058f53eeb740bdaffa3b.png" />
<meta name="keywords" content="goose, MCP, Model Context Protocol, Code Mode, AI agents, extensions, tool bloat, context window, JavaScript, developer tools" />
</head>
@@ -81,12 +81,12 @@ That's progress, not replacement.
<head>
<meta property="og:title" content="Did Skills Kill MCP?" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/12/22/agent-skills-vs-mcp" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/12/22/agent-skills-vs-mcp" />
<meta property="og:description" content="An overview of Agent Skills vs MCP" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/skills-vs-mcp-f2d83cbf65b3ddb4f9294470ab653355.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/skills-vs-mcp-f2d83cbf65b3ddb4f9294470ab653355.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Did Skills Kill MCP?" />
<meta name="twitter:description" content="An overview of Agent Skills vs MCP" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/skills-vs-mcp-f2d83cbf65b3ddb4f9294470ab653355.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/skills-vs-mcp-f2d83cbf65b3ddb4f9294470ab653355.png" />
</head>
@@ -14,7 +14,7 @@ We embraced this reality and put goose to work on its own backlog.
<!--truncate-->
We actually used goose pre-1.0 to help us build goose 1.0. The original goose was a Python CLI, but we needed to move quickly to Rust, Electron, and an [MCP-native](https://modelcontextprotocol.io) architecture. goose helped us make that transition. Using it to triage issues and review changes felt like a natural extension, so we embedded goose directly into a [GitHub Action](https://github.com/block/goose/blob/main/.github/workflows/goose-issue-solver.yml).
We actually used goose pre-1.0 to help us build goose 1.0. The original goose was a Python CLI, but we needed to move quickly to Rust, Electron, and an [MCP-native](https://modelcontextprotocol.io) architecture. goose helped us make that transition. Using it to triage issues and review changes felt like a natural extension, so we embedded goose directly into a [GitHub Action](https://github.com/aaif-goose/goose/blob/main/.github/workflows/goose-issue-solver.yml).
:::note Credit
That GitHub Action workflow was built by [Tyler Longwell](https://github.com/tlongwell-block), who took an idea we had been exploring manually and turned it into something any maintainer could trigger with a single comment.
@@ -24,9 +24,9 @@ That GitHub Action workflow was built by [Tyler Longwell](https://github.com/tlo
Before the GitHub Action existed, the goose team was already using goose to accelerate our issue workflow. Here's a real example.
A user reached out on Discord asking why an Ollama model was throwing an error in chat mode. Rather than digging through the codebase myself, I asked goose to explore the code, identify the root cause, and explain it back to me. Then, I asked goose to use the GitHub CLI to open an [issue](https://github.com/block/goose/issues/6117).
A user reached out on Discord asking why an Ollama model was throwing an error in chat mode. Rather than digging through the codebase myself, I asked goose to explore the code, identify the root cause, and explain it back to me. Then, I asked goose to use the GitHub CLI to open an [issue](https://github.com/aaif-goose/goose/issues/6117).
During that same session, goose mentioned it had 95% confidence it knew how to fix the problem. The change was small, so I asked goose to open a [PR](https://github.com/block/goose/pull/6118). It was merged the same day.
During that same session, goose mentioned it had 95% confidence it knew how to fix the problem. The change was small, so I asked goose to open a [PR](https://github.com/aaif-goose/goose/pull/6118). It was merged the same day.
This kind of workflow has changed how I operate as a Developer Advocate. Before goose, when a user reported a problem, the process unfolded in fragments. I would ask clarifying questions, check GitHub for related issues, pull the latest code, grep through files, read the logic, and try to form a hypothesis about what was going wrong.
@@ -44,13 +44,13 @@ The local workflow works. But when I solve an issue locally with goose, I'm stil
The GitHub Action compresses that entire sequence into a single comment. A team member sees an issue, comments `/goose`, and moves on. goose spins up in a container, reads the issue, explores the codebase, runs verification, and opens a draft PR. The maintainer returns to a proposed solution rather than a blank slate.
We saw this play out with [issue #6066](https://github.com/block/goose/issues/6066). Users reported that goose kept defaulting to 2024 even though the correct datetime was in the context. The issue sat for two days. Then Tyler saw it, commented `/goose solve this minimally` at 1:59 AM, and went back to whatever he was doing (presumably sleeping). Fourteen minutes later, goose opened [PR #6101](https://github.com/block/goose/pull/6101).
We saw this play out with [issue #6066](https://github.com/aaif-goose/goose/issues/6066). Users reported that goose kept defaulting to 2024 even though the correct datetime was in the context. The issue sat for two days. Then Tyler saw it, commented `/goose solve this minimally` at 1:59 AM, and went back to whatever he was doing (presumably sleeping). Fourteen minutes later, goose opened [PR #6101](https://github.com/aaif-goose/goose/pull/6101).
The maintainer's role shifts from implementing to reviewing. The bottleneck in open source is rarely "can someone write this code." It's "can someone with enough context find the time to write this code." The GitHub Action decouples those two constraints. Any maintainer can trigger a fix attempt without deep familiarity with that part of the codebase.
This scales in a way manual triage cannot. A backlog contains feature requests, complex bugs, and quick fixes in equal measure. The Action lets you point at an issue and say "try this one" without committing your afternoon. If goose fails, you lose minutes of compute. If it succeeds, you save hours.
For contributors, responsiveness changes everything. When a user filed [issue #6232](https://github.com/block/goose/issues/6232) about slash commands not handling optional parameters, a maintainer quickly commented `/goose can you fix this`, and within the hour there was a draft PR with the fix and four new tests. Even if the PR is not perfect and needs adjustments, contributors see momentum.
For contributors, responsiveness changes everything. When a user filed [issue #6232](https://github.com/aaif-goose/goose/issues/6232) about slash commands not handling optional parameters, a maintainer quickly commented `/goose can you fix this`, and within the hour there was a draft PR with the fix and four new tests. Even if the PR is not perfect and needs adjustments, contributors see momentum.
## Under the Hood
@@ -58,7 +58,7 @@ Maintainers summon goose with `/goose` followed by a prompt as a comment on an i
But there's more happening under the hood than a simple prompt like "/goose fix this."
The workflow uses a [recipe](https://github.com/block/goose/blob/main/.github/workflows/goose-issue-solver.yml#L14-L78) that defines phases to ensure goose actually accomplishes the job and doesn't do more than we ask it to.
The workflow uses a [recipe](https://github.com/aaif-goose/goose/blob/main/.github/workflows/goose-issue-solver.yml#L14-L78) that defines phases to ensure goose actually accomplishes the job and doesn't do more than we ask it to.
| Phase | What goose does | Why it matters |
| ---------- | ----------------------------------------------------- | --------------------------------------------------------------------- |
@@ -69,7 +69,7 @@ The workflow uses a [recipe](https://github.com/block/goose/blob/main/.github/wo
| Verify | Run tests and linters | Catches obvious failures before a human sees the PR |
| Confirm | Reread the original issue and requirements | Prevents the AI from declaring victory while forgetting half the task |
The [recipe](https://github.com/block/goose/blob/main/.github/workflows/goose-issue-solver.yml) also gives goose access to the [TODO extension](/docs/mcp/todo-mcp), a built-in tool that acts as external memory. The phases tell goose *what* to do. The TODO helps goose *remember* what it's doing. As goose reads through the codebase and builds a solution, its context window fills up and earlier instructions can be compressed or lost. The TODO persists, so goose can always check what it's done and what's left.
The [recipe](https://github.com/aaif-goose/goose/blob/main/.github/workflows/goose-issue-solver.yml) also gives goose access to the [TODO extension](/docs/mcp/todo-mcp), a built-in tool that acts as external memory. The phases tell goose *what* to do. The TODO helps goose *remember* what it's doing. As goose reads through the codebase and builds a solution, its context window fills up and earlier instructions can be compressed or lost. The TODO persists, so goose can always check what it's done and what's left.
The workflow also enforces guardrails around who can invoke `/goose`, which files it's allowed to touch, and the requirement that a maintainer review and approve every PR.
@@ -79,17 +79,17 @@ The future we're aiming for isn't one where AI replaces maintainers. It's one wh
If that becomes the norm, open source scales differently.
The [GitHub Action workflow](https://github.com/block/goose/blob/main/.github/workflows/goose-issue-solver.yml) is public for anyone who wants to explore this pattern in their own CI pipeline.
The [GitHub Action workflow](https://github.com/aaif-goose/goose/blob/main/.github/workflows/goose-issue-solver.yml) is public for anyone who wants to explore this pattern in their own CI pipeline.
<head>
<meta property="og:title" content="How We Use goose to Maintain goose" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2025/12/28/goose-maintains-goose" />
<meta property="og:url" content="https://goose-docs.ai/blog/2025/12/28/goose-maintains-goose" />
<meta property="og:description" content="Learn how an AI agent embedded in GitHub Actions helps maintainers triage issues and keep open source moving." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goose-maintains-goose-4b25a92b0dfd9a6acce8c8f8e9c954f7.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goose-maintains-goose-4b25a92b0dfd9a6acce8c8f8e9c954f7.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How We Use goose to Maintain goose" />
<meta name="twitter:description" content="Learn how an AI agent embedded in GitHub Actions helps maintainers triage issues and keep open source moving." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goose-maintains-goose-4b25a92b0dfd9a6acce8c8f8e9c954f7.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goose-maintains-goose-4b25a92b0dfd9a6acce8c8f8e9c954f7.png" />
</head>
@@ -123,12 +123,12 @@ The code and full transcripts live in [my Genuary 2026 repo](https://github.com/
<head>
<meta property="og:title" content="How I Taught My Agent My Design Taste" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/01/04/how-i-taught-my-agent-my-design-taste" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/01/04/how-i-taught-my-agent-my-design-taste" />
<meta property="og:description" content="I used Agent Skills and recipes to automate execution so I could study taste, constraint design, feedback loops, and avoid AI smells." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/automate-taste-9a928fdbc3c8e4d335dba61401ede6bc.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/automate-taste-9a928fdbc3c8e4d335dba61401ede6bc.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How I Taught My Agent My Design Taste" />
<meta name="twitter:description" content="I used Agent Skills and recipes to automate execution so I could study taste, constraint design, feedback loops, and avoid AI smells." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/automate-taste-9a928fdbc3c8e4d335dba61401ede6bc.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/automate-taste-9a928fdbc3c8e4d335dba61401ede6bc.png" />
</head>
@@ -9,7 +9,7 @@ authors:
![blog cover](agentic_guardrails_header.jpg)
In [our previous blog post](https://block.github.io/goose/blog/2025/03/31/securing-mcp/) we detailed the Model Context Protocol (MCP) system and discussed some security concerns and mitigations. As a brief recap, MCP provides agents with a means to accomplish tasks using defined tools; reducing the burden of using complex and varied APIs and integrations on the agent.
In [our previous blog post](https://goose-docs.ai/blog/2025/03/31/securing-mcp/) we detailed the Model Context Protocol (MCP) system and discussed some security concerns and mitigations. As a brief recap, MCP provides agents with a means to accomplish tasks using defined tools; reducing the burden of using complex and varied APIs and integrations on the agent.
<!--truncate-->
<div style={{textAlign: "center"}}>
@@ -247,17 +247,17 @@ In this post we have contextualised the risks associated with LLM Content Inject
Were working on a proof of concept and benchmarking for goose in the background. Once released we will update this blog with the results (either good or bad) outlining the effectiveness of the mitigation.
Another area we intend to explore is the application to multi-agent systems. Our application of this is intended for human facing agentic systems. However, it likely has applications in fully autonomous player-coach systems (similar to what is described in [Anthropics Multi-Agent Research Systems](https://www.anthropic.com/engineering/multi-agent-research-system) or [Blocks Adversarial Cooperation in Code Synthesis](https://block.xyz/documents/adversarial-cooperation-in-code-synthesis.pdf)) where the orchestrating Agent takes the role of the human providing initial prompts, but also defining allowable tool-calls or interactions.
We also welcome any and all feedback and suggestions on improving the concept. [Hit us up on the goose GitHub discussion](https://github.com/block/goose/discussions/6328)
We also welcome any and all feedback and suggestions on improving the concept. [Hit us up on the goose GitHub discussion](https://github.com/aaif-goose/goose/discussions/6328)
<head>
<meta property="og:title" content="Agent Guardrails and Controls: Applying the CORS Model to Agents" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/01/05/agentic-guardrails-and-controls" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/01/05/agent-guardrails-cors-model" />
<meta property="og:description" content="Applying the security model of CORS to Agentic technologies to address common attacks against tool calling." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/agentic_guardrails_header-bb29f4bf9535195b45a0483af23feb14.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/agentic_guardrails_header-bb29f4bf9535195b45a0483af23feb14.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Agent Guardrails and Controls: Applying the CORS Model to Agents" />
<meta name="twitter:description" content="Applying the security model of CORS to Agentic technologies to address common attacks against tool calling." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/agentic_guardrails_header-bb29f4bf9535195b45a0483af23feb14.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/agentic_guardrails_header-bb29f4bf9535195b45a0483af23feb14.png" />
</head>
@@ -13,7 +13,7 @@ The MCP ecosystem is standardizing how servers deliver interactive UIs to hosts,
## What's Shipping
This release ([v1.19.0](https://github.com/block/goose/releases/tag/v1.19.0)) brings a minimal-but-functional implementation of MCP Apps:
This release ([v1.19.0](https://github.com/aaif-goose/goose/releases/tag/v1.19.0)) brings a minimal-but-functional implementation of MCP Apps:
- Discovery of MCP App resources connected to tools
- HTML content rendering in sandboxed iframes
@@ -46,19 +46,19 @@ MCP-UI isn't going away overnight. We'll keep supporting it while the community
- **Get started:** Update goose and point it at an MCP server that returns App resources
- **Read the spec:** [github.com/modelcontextprotocol/ext-apps](https://github.com/modelcontextprotocol/ext-apps)
- **Join the conversation:** [goose GitHub discussion](https://github.com/block/goose/discussions/6069) · [MCP Contributors Discord](https://discord.gg/6CSzBmMkjX)
- **Join the conversation:** [goose GitHub discussion](https://github.com/aaif-goose/goose/discussions/6069) · [MCP Contributors Discord](https://discord.gg/6CSzBmMkjX)
If you build or port an app, we want to hear from you. File issues, share demos, tell us what's broken. Early feedback shapes what comes next.
<head>
<meta property="og:title" content="goose Lands MCP Apps" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/01/06/mcp-apps" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/01/06/mcp-apps" />
<meta property="og:description" content="goose ships early support for the draft MCP Apps specification, aligning with the emerging standard for interactive UIs in MCP." />
<meta property="og:image" content="http://block.github.io/goose/assets/images/goose-lands-mcp-apps-header-image-eb1f899d6de24f21cc2c45e46727f11d.png" />
<meta property="og:image" content="http://goose-docs.ai/assets/images/goose-lands-mcp-apps-header-image-eb1f899d6de24f21cc2c45e46727f11d.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="goose Lands MCP Apps" />
<meta name="twitter:description" content="goose ships early support for the draft MCP Apps specification, aligning with the emerging standard for interactive UIs in MCP." />
<meta name="twitter:image" content="http://block.github.io/goose/assets/images/goose-lands-mcp-apps-header-image-eb1f899d6de24f21cc2c45e46727f11d.png" />
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/goose-lands-mcp-apps-header-image-eb1f899d6de24f21cc2c45e46727f11d.png" />
</head>
@@ -21,7 +21,7 @@ But something still felt off.
The tools still werent really *thinking*. They were fetching data, returning text, and leaving all the heavy reasoning to my LLM. Thats when I realized the issue wasnt my descriptions. It was how the system actually worked under the hood.
Thats where [MCP sampling](https://block.github.io/goose/docs/guides/mcp-sampling/) came in.
Thats where [MCP sampling](https://goose-docs.ai/docs/guides/mcp-sampling/) came in.
Not as a magic feature, but as a different way of structuring how tools and the LLM actually collaborate.
## What actually changed my understanding
@@ -49,7 +49,7 @@ Its the same model and the same agent, but the behavior changes completely.
## Where Council of Mine fits in
Seeing the flow change helped me understand sampling conceptually. [Council of Mine](https://github.com/block/mcp-council-of-mine) helped me understand it viscerally.
Seeing the flow change helped me understand sampling conceptually. [Council of Mine](https://github.com/aaif-goose/mcp-council-of-mine) helped me understand it viscerally.
Its not MCP sampling itself. Its an example of what becomes possible once sampling exists.
@@ -67,17 +67,17 @@ But on their own, they wont get you to truly agentic behavior. Descriptions s
That distinction was the missing piece for me. And once I could actually see the flow, everything else started to make more sense.
If this helped make things click, Id recommend trying the [Council of Mine extension](https://block.github.io/goose/docs/mcp/council-of-mine-mcp) for yourself. Its one of the clearest ways to see MCP sampling in action.
If this helped make things click, Id recommend trying the [Council of Mine extension](https://goose-docs.ai/docs/mcp/council-of-mine-mcp) for yourself. Its one of the clearest ways to see MCP sampling in action.
<head>
<meta property="og:title" content="Why Tool Descriptions Arent Enough" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/01/15/why-tool-descriptions-arent-enough" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/01/15/why-tool-descriptions-arent-enough" />
<meta property="og:description" content="I thought better tool descriptions would solve everything. They didnt. Heres what finally made MCP sampling click for me." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/blogbanner-97fb5e20248b53e838888082ac9f5860.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/blogbanner-97fb5e20248b53e838888082ac9f5860.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Why Tool Descriptions Arent Enough" />
<meta name="twitter:description" content="I thought better tool descriptions would solve everything. They didnt. Heres what finally made MCP sampling click for me." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/blogbanner-97fb5e20248b53e838888082ac9f5860.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/blogbanner-97fb5e20248b53e838888082ac9f5860.png" />
</head>
@@ -10,7 +10,7 @@ authors:
In 2025 we did a fairly cutting edge take on whole device automation using Android (code name was gosling) which was an on-device agent that would take over your device (mic even used it to do some shopping - which he realized after some things arrived at his door that it had automatically purchased as the result of an email - hence the PoC/experimental label!)
Recently we consolidated the [apps for goose mobile](https://github.com/block/goose-mobile).
Recently we consolidated the [apps for goose mobile](https://github.com/aaif-goose/goose-mobile).
The [goose-ios client](/blog/2025/12/19/goose-mobile-terminal/) is more production ready, and in the app store (still early days). We hope to have a port of that to Android, which will be strictly a client (and won't take over your device!) to your remote agent. The aim of the client (vs an on device agent) is for you to take your work on the go with you.
@@ -31,12 +31,12 @@ For mobile client to work for personal (ie desktop/laptop/PC agents, not really
<head>
<meta property="og:title" content="goose mobile apps and agent clients" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/01/20/goose-mobile-apps" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/01/20/goose-mobile-apps" />
<meta property="og:description" content="Consolidating agent apps for iOS and Android and ACP" />
<meta property="og:image" content="https://block.github.io/goose/blog/2026/01/20/goose-mobile-apps-banner-38cbd490610895a6c2781c74a34cb9c5.png" />
<meta property="og:image" content="https://goose-docs.ai/blog/2026/01/20/goose-mobile-apps-banner-38cbd490610895a6c2781c74a34cb9c5.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="goose mobile apps and agent clients" />
<meta name="twitter:description" content="Consolidating agent apps for iOS and Android and ACP" />
<meta name="twitter:image" content="https://block.github.io/goose/blog/2026/01/20/goose-mobile-apps-banner-38cbd490610895a6c2781c74a34cb9c5.png" />
<meta name="twitter:image" content="https://goose-docs.ai/blog/2026/01/20/goose-mobile-apps-banner-38cbd490610895a6c2781c74a34cb9c5.png" />
</head>
@@ -328,7 +328,7 @@ This is one of those changes that doesnt dramatically affect your day-to-day
## Try it yourself
If youre curious about building MCP Apps yourself, follow the guide [Building MCP Apps](https://block.github.io/goose/docs/tutorials/building-mcp-apps/).
If youre curious about building MCP Apps yourself, follow the guide [Building MCP Apps](https://goose-docs.ai/docs/tutorials/building-mcp-apps/).
And if you already have an MCP-UI server, try converting just one tool to an MCP App. Thats usually the moment when everything starts to really click.
@@ -339,12 +339,12 @@ As a reminder, MCP Apps run sandboxed with CSP restrictions, so its worth und
<head>
<meta property="og:title" content="From MCP-UI to MCP Apps: Evolving Interactive Agent UIs" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/01/22/mcp-ui-to-mcp-apps" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/01/22/mcp-ui-to-mcp-apps" />
<meta property="og:description" content="I migrated a real MCP-UI server to MCP Apps. Heres what actually changed, what broke, and why this shift matters." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/blogbanner-1d2185a745552379fe543020a901e8cc.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/blogbanner-1d2185a745552379fe543020a901e8cc.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="From MCP-UI to MCP Apps: Evolving Interactive Agent UIs" />
<meta name="twitter:description" content="I migrated a real MCP-UI server to MCP Apps. Heres what actually changed, what broke, and why this shift matters.." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/blogbanner-1d2185a745552379fe543020a901e8cc.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/blogbanner-1d2185a745552379fe543020a901e8cc.png" />
</head>
@@ -336,7 +336,7 @@ registerAppTool(server, "delete-email", {
MCP Apps open up a new dimension for agent interactions. Now it's time to build your own.
- **Test with [MCPJam](https://mcpjam.com/)** — the open source local inspector for MCP Apps, ChatGPT apps SDK, and MCP servers. Perfect for debugging and iterating on your app before shipping.
- **Run in [goose](https://github.com/block/goose)** — an open source AI agent that renders MCP Apps directly in the chat interface. See your app come to life in a real agent environment.
- **Run in [goose](https://github.com/aaif-goose/goose)** — an open source AI agent that renders MCP Apps directly in the chat interface. See your app come to life in a real agent environment.
Ready to dive deeper? Check out the [MCP Apps tutorial](/docs/tutorials/building-mcp-apps) or [build your first MCP App with MCPJam](https://docs.mcpjam.com/guides/first-mcp-app).
@@ -344,12 +344,12 @@ Ready to dive deeper? Check out the [MCP Apps tutorial](/docs/tutorials/building
<link rel="canonical" href="https://www.mcpjam.com/blog/mcp-apps-tips" />
<meta property="og:title" content="5 Tips for Building MCP Apps That Work" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/01/30/5-tips-building-mcp-apps" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/01/30/5-tips-building-mcp-apps" />
<meta property="og:description" content="5 expert tips on building better MCP Apps for your AI agents" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/blogbanner-2663f4e7979c47f3f4921df4ce960920.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/blogbanner-2663f4e7979c47f3f4921df4ce960920.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="5 Tips for Building MCP Apps That Work" />
<meta name="twitter:description" content="5 expert tips on building better MCP Apps for your AI agents" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/blogbanner-2663f4e7979c47f3f4921df4ce960920.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/blogbanner-2663f4e7979c47f3f4921df4ce960920.png" />
</head>
@@ -218,20 +218,20 @@ If you want to experiment with Code Mode, here are some resources:
**Community:**
- Join our [Discord](https://discord.gg/goose-oss) to share what you learn
- File issues on [GitHub](https://github.com/block/goose) if something does not work as expected
- File issues on [GitHub](https://github.com/aaif-goose/goose) if something does not work as expected
Run your own experiments and let us know what you find.
<head>
<meta property="og:title" content="8 Things You Didn't Know About Code Mode" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/02/06/8-things-you-didnt-know-about-code-mode" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/02/06/8-things-you-didnt-know-about-code-mode" />
<meta property="og:description" content="Discover how Code mode reduces context rot and token usage in AI agents making them more efficient for long running sessions." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/header-image-bf242a438cd67caab097fab1d8bd31c5.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/header-image-bf242a438cd67caab097fab1d8bd31c5.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="8 Things You Didn't Know About Code Mode" />
<meta name="twitter:description" content="Discover how Code mode reduces context rot and token usage in AI agents making them more efficient for long running sessions." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/header-image-bf242a438cd67caab097fab1d8bd31c5.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/header-image-bf242a438cd67caab097fab1d8bd31c5.png" />
<meta name="keywords" content="goose, MCP, Model Context Protocol, Code Mode, AI agents, context rot, token usage, JavaScript, developer tools, ACP, Neovim" />
</head>
@@ -196,7 +196,7 @@ What's the most strategic question you could ask right now?
Install the skill:
```bash
npx skills add https://github.com/block/agent-skills --skill rp-why
npx skills add https://github.com/aaif-goose/agent-skills --skill rp-why
```
Make sure you have the built-in [Skills extension](/docs/mcp/skills-mcp/) enabled in goose.
@@ -258,12 +258,12 @@ A: Yes! The output is designed to be shareable. Screenshot or copy the quadrant
<head>
<meta property="og:title" content="Level Up Your AI Game with rp-why" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/02/06/rp-why-skill" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/02/06/rp-why-skill" />
<meta property="og:description" content="A goose skill that measures the cognitive complexity of your AI collaboration using the Gas Town × DOK framework." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/rp-why-banner-d3fdd6f674e8e308169e30efe6379735.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/rp-why-banner-d3fdd6f674e8e308169e30efe6379735.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io" />
<meta property="twitter:domain" content="aaif-goose.github.io" />
<meta name="twitter:title" content="Level Up Your AI Game with rp-why" />
<meta name="twitter:description" content="A goose skill that measures the cognitive complexity of your AI collaboration using the Gas Town × DOK framework." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/rp-why-banner-d3fdd6f674e8e308169e30efe6379735.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/rp-why-banner-d3fdd6f674e8e308169e30efe6379735.png" />
</head>
@@ -9,7 +9,7 @@ authors:
Everyone on Tech Twitter has been buying Mac Minis, so they could run a local agentic tool called [OpenClaw](https://openclaw.ai/). OpenClaw is a messaging-based AI assistant that connects to platforms such as Discord and Telegram allowing you to interact with an AI agent through DMs or @mentions. Under the hood, it uses an agent called Pi to execute tasks, browse the web, write code, and more.
Seeing the hype made me want to get my hands dirty. I wanted to see if I could build a lite version for myself. I wanted something minimal that used [goose](https://github.com/block/goose) as the engine instead of Pi. I tentatively dubbed it AltOpenClaw.
Seeing the hype made me want to get my hands dirty. I wanted to see if I could build a lite version for myself. I wanted something minimal that used [goose](https://github.com/aaif-goose/goose) as the engine instead of Pi. I tentatively dubbed it AltOpenClaw.
<!-- truncate -->
@@ -126,12 +126,12 @@ Happy hacking!
<head>
<meta property="og:title" content="How I Used RPI to Build an OpenClaw Alternative" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/02/06/rpi-openclaw-alternative" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/02/06/rpi-openclaw-alternative" />
<meta property="og:description" content="Learn how I built a minimal, personal AI agent using goose and the RPI method." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/blogbanner-7c71d1a80441079767f7fd25b9e27385.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/blogbanner-7c71d1a80441079767f7fd25b9e27385.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="How I Used RPI to Build an OpenClaw Alternative" />
<meta name="twitter:description" content="Learn how I built a minimal, personal AI agent using goose and the RPI method." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/blogbanner-7c71d1a80441079767f7fd25b9e27385.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/blogbanner-7c71d1a80441079767f7fd25b9e27385.png" />
</head>
@@ -19,7 +19,7 @@ Saying “one shot prompting is dead” isnt revolutionary. Its just catch
## The blog post that aged faster than oat milk
Last year, I wrote a post about [how to prompt better](https://block.github.io/goose/blog/2025/03/19/better-ai-prompting). I shared tricks, phrasing tips, and even said to add a few “pleases” and “thank yous” and your AI agent would give you the world. At the time it felt cutting edge, because it was. There were livestreams and conference talks entirely about how to prompt better.
Last year, I wrote a post about [how to prompt better](https://goose-docs.ai/blog/2025/03/19/better-ai-prompting). I shared tricks, phrasing tips, and even said to add a few “pleases” and “thank yous” and your AI agent would give you the world. At the time it felt cutting edge, because it was. There were livestreams and conference talks entirely about how to prompt better.
Less than a year later, it feels… quaint. Not because prompting stopped mattering, but because prompting stopped being the main character.
@@ -31,7 +31,7 @@ to
> “What environment am I dropping this model into?”
Thats a completely different problem, and now it has a name. **[Context engineering](https://block.github.io/goose/docs/guides/context-engineering/)**.
Thats a completely different problem, and now it has a name. **[Context engineering](https://goose-docs.ai/docs/guides/context-engineering/)**.
---
@@ -78,7 +78,7 @@ Heres what that loop looked like in practice:
> *Even **this** demo is powered by persistent context.*
That was the moment I experimented with [RPI](https://block.github.io/goose/docs/tutorials/rpi). Not because it was trendy, but because the alternative had become tedious.
That was the moment I experimented with [RPI](https://goose-docs.ai/docs/tutorials/rpi). Not because it was trendy, but because the alternative had become tedious.
You dont have to adopt RPI, or any new pattern, tomorrow to benefit from this. You can simulate the shift in your next session with a small change in how you start.
@@ -147,12 +147,12 @@ And honestly, thats progress.
<head>
<meta property="og:title" content="One Shot Prompting is Dead" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog//2026/02/07/context-engineering" />
<meta property="og:url" content="https://goose-docs.ai/blog//2026/02/07/context-engineering" />
<meta property="og:description" content="Practical steps and mental models for building context-engineered workflows instead of clever prompts." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/blogbanner-2fa90c93a49496447d38217739242dec.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/blogbanner-2fa90c93a49496447d38217739242dec.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="One Shot Prompting is Dead" />
<meta name="twitter:description" content="Practical steps and mental models for building context-engineered workflows instead of clever prompts.." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/blogbanner-2fa90c93a49496447d38217739242dec.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/blogbanner-2fa90c93a49496447d38217739242dec.png" />
</head>
@@ -56,7 +56,7 @@ I won't list every single character here (it gets deep), but the takeaway is: Ga
## Introducing Goosetown
This is exactly the kind of futuristic thinking we're building toward at [goose](https://block.github.io/goose). So the goose team, specifically Tyler Longwell, built our own take on this called [Goosetown](https://github.com/block/goosetown).
This is exactly the kind of futuristic thinking we're building toward at [goose](https://goose-docs.ai). So the goose team, specifically Tyler Longwell, built our own take on this called [Goosetown](https://github.com/aaif-goose/goosetown).
Goosetown is a multi-agent orchestration layer built on top of goose. Like Gas Town, it coordinates parallel agents. Unlike Gas Town, it's deliberately minimal and built for research-first parallel work.
@@ -68,7 +68,7 @@ Here's a real Town Wall snippet from a session where parallel researchers conver
* **[10:14] researcher-endpoints** - 💡 Found: native endpoint already exists with minimal deps. Alternative path viable.
* **[10:15] researcher-source** - ✅ Done. Confirmed: native path requires zero new dependencies. Recommending pivot.
Goosetown operates on 4 components: [skills](/docs/guides/context-engineering/using-skills), [subagents](/docs/guides/subagents), [beads](https://github.com/steveyegge/beads), and a [gtwall](https://github.com/block/goosetown/blob/main/gtwall).
Goosetown operates on 4 components: [skills](/docs/guides/context-engineering/using-skills), [subagents](/docs/guides/subagents), [beads](https://github.com/steveyegge/beads), and a [gtwall](https://github.com/aaif-goose/goosetown/blob/main/gtwall).
### Skills
@@ -84,7 +84,7 @@ Goosetown uses [Beads](https://github.com/steveyegge/beads) to track progress so
### gtwall
[gtwall](https://github.com/block/goosetown/blob/main/gtwall) is an append-only log that delegates use to communicate and coordinate. All delegates post and read activity.
[gtwall](https://github.com/aaif-goose/goosetown/blob/main/gtwall) is an append-only log that delegates use to communicate and coordinate. All delegates post and read activity.
## A Note from the Creator
@@ -100,19 +100,19 @@ Goosetown uses [Beads](https://github.com/steveyegge/beads) to track progress so
## Get Started
Ready to try parallel agentic engineering for yourself? [Goosetown](https://github.com/block/goosetown) is open source and available on GitHub. Clone the [repo](https://github.com/block/goosetown), follow the setup instructions in the README, and you'll be orchestrating multiple agents in no time. If you're new to this workflow, watching the video below is a great way to see what a real session looks like before diving in.
Ready to try parallel agentic engineering for yourself? [Goosetown](https://github.com/aaif-goose/goosetown) is open source and available on GitHub. Clone the [repo](https://github.com/aaif-goose/goosetown), follow the setup instructions in the README, and you'll be orchestrating multiple agents in no time. If you're new to this workflow, watching the video below is a great way to see what a real session looks like before diving in.
<iframe class="aspect-ratio" src="https://www.youtube.com/embed/H2hJjNmvEEA" title="Rizel's first time using Goosetown" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<head>
<meta property="og:title" content="Gas Town Explained: How to Use Goosetown for Parallel Agentic Engineering" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/02/19/gastown-explained-goosetown" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/02/19/gastown-explained-goosetown" />
<meta property="og:description" content="Learn how Gas Town and Goosetown lead the industrial coding revolution by teaching AI agents to work together in a team. This beginner guide explains the infrastructure we're using to move from talking to one AI to coordinating many agents at once." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/goosetown-6e1bda1a4bd160c0c01cfc58c118492e.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/goosetown-6e1bda1a4bd160c0c01cfc58c118492e.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Gas Town Explained: How to Use Goosetown for Parallel Agentic Engineering" />
<meta name="twitter:description" content="Learn how Gas Town and Goosetown lead the industrial coding revolution by teaching AI agents to work together in a team." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/goosetown-6e1bda1a4bd160c0c01cfc58c118492e.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/goosetown-6e1bda1a4bd160c0c01cfc58c118492e.png" />
</head>
@@ -19,7 +19,7 @@ Let's break down what's new.
**The headline feature of v1.25.0 is security sandboxing for goose Desktop on macOS.**
When you give an AI agent access to your shell and file system, trust matters. With this release, goose Desktop now runs inside a [macOS sandbox](https://block.github.io/goose/docs/guides/sandbox) powered by [seatbelt](https://github.com/michaelneale/agent-seatbelt-sandbox), the same underlying technology Apple uses to sandbox its own apps.
When you give an AI agent access to your shell and file system, trust matters. With this release, goose Desktop now runs inside a [macOS sandbox](https://goose-docs.ai/docs/guides/sandbox) powered by [seatbelt](https://github.com/michaelneale/agent-seatbelt-sandbox), the same underlying technology Apple uses to sandbox its own apps.
What does this mean in practice?
@@ -32,9 +32,9 @@ This is a great starting point for defense-in-depth security. The sandbox checks
## 🧩 Unified Summon Extension
**We replaced two separate systems (subagent and Skills) with a single, unified ["Summon" extension](https://block.github.io/goose/docs/mcp/summon-mcp).**
**We replaced two separate systems (subagent and Skills) with a single, unified ["Summon" extension](https://goose-docs.ai/docs/mcp/summon-mcp).**
Previously, goose had two different mechanisms for delegating work: [subagents](https://block.github.io/goose/docs/tutorials/subagents) (for spinning up independent sub-tasks) and Skills (for loading predefined capabilities). They overlapped in confusing ways and made the system harder to understand.
Previously, goose had two different mechanisms for delegating work: [subagents](https://goose-docs.ai/docs/tutorials/subagents) (for spinning up independent sub-tasks) and Skills (for loading predefined capabilities). They overlapped in confusing ways and made the system harder to understand.
The new **Summon** extension unifies both concepts into two clean tools:
@@ -51,7 +51,7 @@ This simplification means:
**MCP extensions can now render rich, interactive UIs directly inside goose Desktop.**
This release integrates the `AppRenderer` from the [`@mcp-ui/client`](https://www.npmjs.com/package/@mcp-ui/client) SDK, bringing a major upgrade to how [MCP apps](https://block.github.io/goose/docs/tutorials/building-mcp-apps) display their content. Instead of being limited to text output, MCP extensions can now provide full HTML/JavaScript interfaces that [render inline in the chat](https://block.github.io/goose/docs/guides/interactive-chat/mcp-ui).
This release integrates the `AppRenderer` from the [`@mcp-ui/client`](https://www.npmjs.com/package/@mcp-ui/client) SDK, bringing a major upgrade to how [MCP apps](https://goose-docs.ai/docs/tutorials/building-mcp-apps) display their content. Instead of being limited to text output, MCP extensions can now provide full HTML/JavaScript interfaces that [render inline in the chat](https://goose-docs.ai/docs/guides/interactive-chat/mcp-ui).
Key improvements include:
- **Fallback request handler support.** Apps can make requests back to the MCP server for dynamic data.
@@ -62,9 +62,9 @@ This opens up a whole new class of MCP extensions that can provide dashboards, v
## 📝 Edit Recipe Model & Provider from the GUI
**You can now [edit a recipe's](https://block.github.io/goose/docs/guides/recipes/session-recipes#edit-recipe) model, provider, and extensions directly in goose Desktop. No YAML editing required.**
**You can now [edit a recipe's](https://goose-docs.ai/docs/guides/recipes/session-recipes#edit-recipe) model, provider, and extensions directly in goose Desktop. No YAML editing required.**
[Recipes](https://block.github.io/goose/docs/tutorials/recipes-tutorial) already let you define reusable workflows with specific instructions, extensions, and configurations, and you could always edit the underlying YAML file. But switching the model or provider for a recipe meant hunting down the right field in the config file.
[Recipes](https://goose-docs.ai/docs/tutorials/recipes-tutorial) already let you define reusable workflows with specific instructions, extensions, and configurations, and you could always edit the underlying YAML file. But switching the model or provider for a recipe meant hunting down the right field in the config file.
With v1.25.0, the desktop app lets you visually configure these settings per recipe:
- Change the model and provider a recipe uses
@@ -79,7 +79,7 @@ Alongside this, the recipe details view now correctly **displays the provider an
**Claude Code, Codex, and Gemini CLI all received major upgrades in this release.**
goose's [agentic CLI providers](https://block.github.io/goose/docs/guides/cli-providers), which delegate work to other AI coding agents, got a batch of improvements that make them significantly more capable:
goose's [agentic CLI providers](https://goose-docs.ai/docs/guides/cli-providers), which delegate work to other AI coding agents, got a batch of improvements that make them significantly more capable:
### MCP Extensions Now Work with Agentic Providers
@@ -120,28 +120,28 @@ Supply chain security matters. Starting with v1.25.0, every CLI binary, desktop
This means you can **cryptographically verify** that any goose artifact was built from the official repository by the official CI pipeline:
```bash
gh attestation verify <artifact> --repo block/goose
gh attestation verify <artifact> --repo aaif-goose/goose
```
The implementation covers all release workflows including stable releases, canary builds, nightly builds, and Docker images, with properly pinned actions and correct permission scoping.
## Get Started
Ready to try v1.25.0? Head over to our [updating goose](https://block.github.io/goose/docs/guides/updating-goose) guide for step-by-step instructions on getting the latest version for Desktop or CLI.
Ready to try v1.25.0? Head over to our [updating goose](https://goose-docs.ai/docs/guides/updating-goose) guide for step-by-step instructions on getting the latest version for Desktop or CLI.
Check out the full [release notes](https://github.com/block/goose/releases/tag/v1.25.0) for the complete list of changes, and join the conversation in [GitHub Discussions](https://github.com/block/goose/discussions).
Check out the full [release notes](https://github.com/aaif-goose/goose/releases/tag/v1.25.0) for the complete list of changes, and join the conversation in [GitHub Discussions](https://github.com/aaif-goose/goose/discussions).
*goose is open source. Star us on [GitHub](https://github.com/block/goose), and if you build something cool with goose, we'd love to hear about it!*
*goose is open source. Star us on [GitHub](https://github.com/aaif-goose/goose), and if you build something cool with goose, we'd love to hear about it!*
<head>
<meta property="og:title" content="goose v1.25.0: Sandboxed, Streamlined, and More Secure" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/02/23/goose-v1-25-0" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/02/23/goose-v1-25-0" />
<meta property="og:description" content="goose v1.25.0 brings macOS sandboxing, a unified summon extension, rich MCP app UIs, agentic CLI upgrades, and SLSA build provenance." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/banner-7288f9dab6214bbe6baef00cda590d27.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/banner-7288f9dab6214bbe6baef00cda590d27.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="goose v1.25.0: Sandboxed, Streamlined, and More Secure" />
<meta name="twitter:description" content="goose v1.25.0 brings macOS sandboxing, a unified summon extension, rich MCP app UIs, agentic CLI upgrades, and SLSA build provenance." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/banner-7288f9dab6214bbe6baef00cda590d27.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/banner-7288f9dab6214bbe6baef00cda590d27.png" />
</head>
@@ -99,12 +99,12 @@ And if *you* have a wild idea for what goose could do? The **[goose grant progra
<head>
<meta property="og:title" content="meet goose grant winner: Goose In A Pond" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/02/24/goose-grant-goose-in-a-pond" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/02/24/goose-grant-goose-in-a-pond" />
<meta property="og:description" content="Introducing a privacy-first, local AI home assistant powered by Goose on edge hardware." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/banner-ae6f66bdec317d7e20264c4a62ad0013.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/banner-ae6f66bdec317d7e20264c4a62ad0013.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io" />
<meta property="twitter:domain" content="aaif-goose.github.io" />
<meta name="twitter:title" content="Meet the Goose Grant Winner: Goose In A Pond" />
<meta name="twitter:description" content="Introducing a privacy-first, local AI home assistant powered by Goose on edge hardware." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/banner-ae6f66bdec317d7e20264c4a62ad0013.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/banner-ae6f66bdec317d7e20264c4a62ad0013.png" />
</head>
@@ -136,12 +136,12 @@ See the entire flow in action:
<head>
<meta property="og:title" content="Order Lunch Without Leaving Your AI Agent" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/02/25/order-lunch-with-goose" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/02/25/order-lunch-with-goose" />
<meta property="og:description" content="Use the Neighborhood extension in goose to discover nearby restaurants, browse interactive menus, and place a takeout order, all from a simple chat prompt." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/banner-2d9dbe53ddf9f459a8c5f6615af8333b.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/banner-2d9dbe53ddf9f459a8c5f6615af8333b.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Order Lunch Without Leaving Your AI Agent" />
<meta name="twitter:description" content="Use the Neighborhood extension in goose to discover nearby restaurants, browse interactive menus, and place a takeout order, all from a simple chat prompt." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/banner-2d9dbe53ddf9f459a8c5f6615af8333b.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/banner-2d9dbe53ddf9f459a8c5f6615af8333b.png" />
</head>
@@ -177,12 +177,12 @@ Right now, WebMCP only works on sites that choose to implement it, which limits
<head>
<meta property="og:title" content="WebMCP for Beginners" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/03/17/webmcp-for-beginners" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/03/17/webmcp-for-beginners" />
<meta property="og:description" content="WebMCP lets websites expose structured actions that AI agents can call directly. This guide explains how it works, how it differs from MCP and browser automation, and how to build your own WebMCP-enabled site." />
<meta property="og:image" content="https://block.github.io/goose/assets/images/webmcp-for-beginners-f12da638fe0f49acf924c720a7d1243a.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/webmcp-for-beginners-f12da638fe0f49acf924c720a7d1243a.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="WebMCP for Beginners" />
<meta name="twitter:description" content="WebMCP lets websites expose structured actions that AI agents can call directly. This guide explains how it works, how it differs from MCP and browser automation, and how to build your own WebMCP-enabled site." />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/webmcp-for-beginners-f12da638fe0f49acf924c720a7d1243a.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/webmcp-for-beginners-f12da638fe0f49acf924c720a7d1243a.png" />
</head>
@@ -65,6 +65,6 @@ For full configuration details — including how to expand which tools get revie
<head>
<meta property="og:title" content="Adversary Agent: using a hidden agent to keep the main agent safe" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/2026/03/31/adversary-mode" />
<meta property="og:url" content="https://goose-docs.ai/blog/2026/03/31/adversary-mode" />
<meta property="og:description" content="Introducing adversary mode — an independent agent reviewer that silently watches the main agent to keep it away from danger." />
</head>
+5 -5
View File
@@ -9,7 +9,7 @@ This guide explains how to write and structure blog posts for the goose document
1. Clone the goose repository:
```bash
git clone https://github.com/block/goose.git
git clone https://github.com/aaif-goose/goose.git
cd goose
```
@@ -106,14 +106,14 @@ At the end of your post, include the following meta tags for social media sharin
<head>
<meta property="og:title" content="Your Blog Post Title" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://block.github.io/goose/blog/YYYY/MM/DD/post-slug" />
<meta property="og:url" content="https://goose-docs.ai/blog/YYYY/MM/DD/post-slug" />
<meta property="og:description" content="Your blog post description" />
<meta property="og:image" content="https://block.github.io/goose/assets/images/your-image.png" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/your-image.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="block.github.io/goose" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Your Blog Post Title" />
<meta name="twitter:description" content="Your blog post description" />
<meta name="twitter:image" content="https://block.github.io/goose/assets/images/your-image.png" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/your-image.png" />
</head>
```