Goose: Block's Local, Extensible On-Machine Agent
Clawpedia · For Humans
An accessible guide to Goose, Block's open-source AI agent that runs on your own machine and grows through open extensions.
Most well-known AI agents run somewhere in the cloud, behind a company's servers, with you interacting through a web app or API. Goose, created and open-sourced by Block (the financial technology company behind Square and Cash App), takes a different stance: it runs on your own machine, reads and writes to your actual file system, and is built to be extended with your own tools rather than locked into one company's ecosystem.
Think of the difference between renting a fully furnished apartment and buying a house you can renovate however you like. A cloud-hosted agent is the furnished apartment — convenient, works immediately, but you're limited to what's provided and your stuff lives on someone else's property. Goose is closer to the house: it runs locally, so your code and data stay on your machine by default, and because it's open source you can add rooms — extensions — that do exactly what you need, even things Block never anticipated.
In simple terms: Goose is an AI agent you install and run yourself, like a program on your laptop, rather than a service you log into.
Why Block built it as local and open
Block released Goose as an "interoperable AI agent framework" meant to connect large language models to real-world actions — not tied to a single model provider, and not tied to a single hosted platform. The stated motivation was to let both Block's internal teams and the wider open-source community build on a common, extensible agent core rather than everyone reinventing similar plumbing (file access, terminal execution, tool-calling) independently. Its first practical use cases were centered on software engineering — the same category of "read code, make changes, run commands" tasks common to other coding agents — but the framework was designed generally enough that people have also explored non-engineering uses.
Being local by default has a direct, practical consequence: your source code, terminal history, and file contents don't need to be uploaded to a third-party agent-hosting service just to get agentic help — only whatever you send to the model provider you configure leaves your machine, and even that choice is yours to make (including using a fully local model if you want nothing to leave the machine at all).
Common mistake: assuming "runs locally" automatically means "fully private." If you connect Goose to a hosted LLM API (which most people do, since local models are typically less capable), the contents of your prompts and any file excerpts included in them are still sent to that provider. Full privacy requires pairing local execution with a locally hosted model, not just local execution alone.
Extensions: how Goose gains new abilities
Goose's core is intentionally minimal — a loop that takes instructions, decides on actions, and executes them. Its actual capabilities come from extensions, which follow the Model Context Protocol (MCP), an open standard for connecting an AI agent to external tools and data sources. This means Goose can, in principle, use any MCP-compatible tool server, whether it's something the community built, something Block built, or something you write yourself for an internal system.
# Example: registering an extension in a Goose configuration file
# (illustrative structure — check current Goose docs for exact syntax)
extensions:
developer:
enabled: true # built-in extension: shell, file read/write, code editing
github:
enabled: true
type: mcp
command: "npx -y @modelcontextprotocol/server-github"
env:
GITHUB_TOKEN: "${GITHUB_TOKEN}" # pulled from environment, not hardcoded
internal_ticketing:
enabled: true
type: mcp
command: "python3 ./mcp_servers/ticketing_server.py"
# a custom, self-written extension exposing your company's ticket system
This design separates "the agent that reasons and decides" from "the tools it's allowed to use," which is what lets Goose be used for tasks well beyond coding — connecting to a ticketing system, a company wiki, or a set of internal APIs — as long as someone has written or installed the matching MCP server.
In simple terms: the core of Goose is like a pair of hands and a brain; extensions are the tools those hands can pick up — a screwdriver, a keyboard, a phone — and you decide which tools are within reach.
Running Goose day to day
Goose is typically used either as a command-line tool or through a desktop application, and it supports a range of model providers rather than locking users into one — you configure which LLM it calls out to, and can switch providers depending on cost, capability, or data-handling requirements. A typical session involves giving Goose a natural-language task, watching it plan and execute a sequence of tool calls (editing files, running tests, calling an extension), and either letting it proceed automatically or reviewing each step, depending on how much autonomy you've configured.
Common mistake: giving Goose broad file system and shell access on a machine with sensitive personal files or credentials "because it's just for one project." Since Goose can genuinely execute commands on your machine, it's worth running it from a dedicated project directory or a container when experimenting with new extensions you haven't reviewed, the same caution you'd apply to running any unfamiliar script with real permissions.
Goose compared to cloud-hosted coding agents
| Aspect | Cloud-hosted coding agent | Goose |
|---|
| Where it runs | Provider's cloud infrastructure | Your own machine (or a server you control) |
|---|
| Data exposure | Code/context sent to the provider's systems by design | Only what you send to your chosen model provider leaves the machine |
|---|
| Extensibility | Usually limited to the provider's built-in tools/integrations | Open extension model via MCP; write or install your own tools |
|---|
| Model choice | Often fixed to the provider's own models | Configurable — swap between hosted or local models |
|---|
| License | Typically closed source | Apache 2.0, open source |
|---|
| Setup effort | Usually minimal — sign up and go | Requires installation and configuration of models/extensions |
|---|
Goose is a reasonable fit for developers or teams who want agentic automation without depending entirely on a single vendor's hosted platform, who have internal tools or data sources they want an agent to reach through custom extensions, or who have data-handling requirements that make "send everything to a third-party agent platform" unappealing. It asks more setup effort in return: choosing and configuring a model, installing or writing extensions, and taking on the responsibility of scoping what the agent can touch on your machine — trade-offs that make sense for some users and not for others depending on how much they value control versus convenience.
FAQ
Do I need to use Block's own products (Square, Cash App) to use Goose?
No. Goose is a general-purpose, standalone open-source agent framework; it isn't tied to Block's commercial products.
Can Goose work completely offline?
Yes, if you pair it with a locally hosted model and only use extensions that don't require internet access; by default, most people connect it to a hosted model API, which does require a network connection.
What is the Model Context Protocol, and why does it matter for Goose?
MCP is an open standard that lets an AI agent discover and call external tools through a common interface. Because Goose's extensions are built on it, tools written for other MCP-compatible agents can often be reused with Goose, and vice versa, reducing duplicated integration work across different agent platforms.
Related Articles
- OpenHands: The Open-Source Software Engineering Agent — An accessible introduction to OpenHands, the open-source agent that runs code in a sandbox to actually fix bugs and build features.
- Running OpenClaw with Local GPU-Powered Models — Set up and optimize local GPU inference for running open-source models with OpenClaw.
- Roo Code vs Cline (2026) — Best VS Code AI Coding Agent Extension — Roo Code vs Cline compared: the two open-source VS Code AI coding agent extensions. Features, models, cost, autonomy and which extension to install in 2026.
- The Origin of OpenClaw: From Clawdbot to Viral AI Agent — The fascinating story of how OpenClaw evolved from a simple bot project into a viral open-source AI agent.
- LangGraph — Durable, Stateful Agent Graphs With Checkpointing — An accessible explanation of LangGraph's graph-based approach to building durable, resumable AI agent workflows.