---
title: "We like Goose"
description: "Goose is Block's open-source AI agent. It's a CLI, plus a desktop app that's really just a GUI over the same config, plus a genuinely useful set of MCP servers in the box. Here's why it's the harness we keep reaching for."
date: 2026-07-04
tags: [goose, mcp, ai-agents, open-source]
image: /blog/assets/hero-goose.png
imageAlt: "Neon geese in flight over Jellyfin C# source code"
imageCredit: "Composite rendered with OpenAI. Geese from freesvg.org 'Gaggle of Geese' (public domain / CC0)."
imageSource: "https://freesvg.org/gaggle-of-geese"
imageLicense: "https://creativecommons.org/publicdomain/zero/1.0/"
imageGenerator: "OpenAI"
---

<figure class="post-hero">
  <img src="/blog/assets/hero-goose.png" width="1200" height="800"
       alt="Neon geese in flight over Jellyfin C# source code"
       title="We like Goose — neon geese in flight over C#"
       data-source="https://freesvg.org/gaggle-of-geese"
       data-license="CC0-1.0"
       data-generator="OpenAI" />
  <figcaption>A gaggle, migrating. Geese from <a href="https://freesvg.org/gaggle-of-geese">freesvg.org</a> (CC0); composite rendered with OpenAI.</figcaption>
</figure>

We spend a lot of time thinking about what to *feed* a coding agent. That's
the whole point of GraphSlice. But the thing on the other end of the pipe
matters too: the harness that holds the model, runs the tools, and decides
what to do with the context it gets handed. Lately, the one we keep reaching
for is [Goose](https://block.github.io/goose/).

## One agent, two front doors

Goose ships in two forms. The relationship between them is the part worth
understanding.

There's a **CLI**: a proper terminal agent that runs shell commands, edits
files, and drives multi-step work from where you already live. And there's a
**desktop app**, which the marketing quite reasonably presents as a separate
"distro." Install one or the other, pick your interface, off you go.

Here's the bit that made us trust it: the desktop app isn't a fork, it's a
face. Both front doors read the same `config.yaml`: your provider, your model,
your enabled extensions, your keys. Configure them once and both the terminal
and the GUI pick them up. The desktop app is a graphical skin over the same
engine and the same configuration. It's not a second product that happens to
share a name. That isn't obvious at first glance, and it isn't a bug. It's a
feature.

It's a small architectural decision with a big payoff in trust and UX. You
never have to wonder which Goose you're talking to. There's one agent. You
just choose whether to look at it through a prompt or a window.

## Batteries included, and the batteries are MCP

Most agents make you go shopping before they're useful. Goose ships with a set
of [built-in extensions](https://deepwiki.com/block/goose/5.2-built-in-extensions)
that are really just Model Context Protocol (MCP) servers wearing a friendlier
name. The defaults are unusually good:

- **`developer`** does the core loop: run shell commands, write and edit
  files, walk the directory tree. This is the one that makes Goose an *agent*
  and not a chat window. ([docs](https://block.github.io/goose/docs/mcp/developer-mcp/))
- **`computercontroller`** gives you platform-aware control of the machine
  itself. Its instructions adapt to the host OS.
- **`memory`** keeps durable preferences and facts across sessions, split
  between a project-local `.goose/memory` and a global store.
- **`tutorial`** and **`autovisualiser`** round out the defaults.

Because these are MCP servers, adding your own is the same motion as everyone
else's. Goose exposes official servers for GitHub, Postgres, Slack, and Jira.
The community has built [a hundred-plus more](https://www.openaitoolshub.org/en/blog/goose-ai-agent-block-review).
The out-of-the-box catalog is wider than most competitors expose on day one.
"Install and it does something real" is true before you've configured
anything.

This is also where Goose and GraphSlice speak the same language. GraphSlice
serves context slices over MCP, and Goose consumes MCP. Point Goose at
GraphSlice and the agent stops hallucinating answers about your architecture.
It starts asking structural questions instead: *who calls this?* and *what
breaks if I change that?* That's exactly the kind of context a `developer`
extension can't grep its way to.

## Why people actually love it

Read around and the enthusiasm keeps landing on a few themes. They're not the
usual hype:

- **It runs on your machine.** Goose executes locally and is
  [LLM-agnostic across 15+ providers](https://www.openaitoolshub.org/en/blog/goose-ai-agent-block-review):
  Anthropic, OpenAI, Google, Ollama, Bedrock, and more. Pair it with a local
  model and your code never leaves the building. For regulated work, that's
  one of the [few viable ways to have an AI coding agent at all](https://vibecodinghub.org/tools/goose).
- **It goes beyond suggestions.** The pitch on the [tin](https://github.com/block/goose)
  is "install, execute, edit, and test." It does the work, not just the
  autocomplete.
- **It's extensible by design.** Goose is MCP-native from the ground up, so
  you never fight the tool to make it talk to your stack.

And then there's the provenance. Goose comes out of **Block**, Jack Dorsey's
company (the one behind Square and Cash App), and it's
[open source under Apache 2.0](https://block.xyz/inside/block-open-source-introduces-codename-goose).
But the part that actually sold us is *why* it exists. As
[Wired reported](https://www.wired.com/story/jack-dorseys-block-made-an-ai-agent-to-boost-its-own-productivity/),
Block didn't build Goose to ship a product. They built it to make themselves
faster. They ran it internally for something like a year and a half before
opening it up. By the company's own numbers, roughly three-quarters of its
engineers say it saves them eight to ten hours a week. A majority of the whole
company reaches for it weekly. That's the opposite of a launch-day demo. The
tool had to earn its keep in-house first, which is a much better reason to
trust it than any pitch deck.

The newer development is the interesting one. Block has handed Goose to the
**Linux Foundation's Agentic AI Foundation**. That puts it under neutral,
community-driven governance, with backing from AWS, Anthropic, Google,
Microsoft, and OpenAI. So it's not just open source in the license sense any
more. It's *fully* open, out from under any single vendor's roadmap. A tool
you build into your daily work deserves governance you can trust, and Goose
just moved in the right direction on exactly that axis.

## The short version

Goose is a well-built open-source agent with one brain and two faces. It has a
genuinely useful default toolkit, local-first execution, provider freedom, and
governance headed somewhere durable. It also speaks MCP, the same protocol
GraphSlice serves context slices over. That makes it a natural harness for
putting the right context in front of a model.

We like Goose. If you haven't given it a real afternoon, give it one.
