Skip to content
Free Tool Arena

AI & LLMs · Guide · AI & Prompt Tools

How to Use Goose

Installing goose, provider configuration, sessions, extensions (toolkits), custom instructions, headless mode.

Updated April 2026 · 6 min read

Goose is an open-source, extensible AI agent from Block (the Square/Cash App company). It runs on your machine, speaks MCP natively, and is designed so you can plug in new tools — GitHub, a browser, a database, your own scripts — and have the agent use them without custom glue.

Advertisement

What Goose actually is

Goose is a local agent you drive from either a desktop app or a CLI. It connects to any LLM provider (Anthropic, OpenAI, Google, Databricks, Ollama, OpenRouter, and more) and uses extensions — MCP servers, effectively — to gain capabilities. The developer extension ships by default and gives it a shell, file editor, and text tools; everything else is opt-in.

Installing

# macOS / Linux CLI
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash

# or install the Desktop app from block.github.io/goose

Run goose configure once to pick a provider and model, then goose session to start talking. The desktop app wraps the same engine with a chat UI, extension toggles, and a log viewer; under the hood both share the same sessions.

A first session

cd my-project
goose session --name refactor-auth

Describe the task: “audit how we pass the session token, move it to an httpOnly cookie, and update the two fetch helpers that read it from localStorage.” Goose will grep, edit, run tests via the developer extension, and keep going until the task is done or it hits a tool error. Named sessions mean you can goose session --resume the next morning and pick up with full history.

Extensions and recipes

The real power is extensions. Add the GitHub MCP to let Goose open PRs, the Playwright MCP for browser automation, a Postgres MCP for schema work, or point it at your own internal MCP server. Recipes are YAML files that predefine the provider, extensions, and a starting prompt — version them in your repo so teammates launch the same agent shape with one command.

Configuration pitfalls

Goose runs real commands on your machine, so the developer extension is effectively root-in-your-workspace. Use a project directory you are happy to blow away, or sandbox with a devcontainer on first contact. Also watch the context: Goose will happily pull in large files — set GOOSE_MAX_TURNS or use the lead/worker model split so a cheap model handles the long-running grunt work and only the planner uses your premium tokens.

When Goose shines

Ops-flavored work where you want one agent to touch git, files, a database, and a browser in the same session. Also a strong pick if you are MCP-curious, since the ecosystem is native rather than bolted on.

When not to use it

If you want tight IDE integration with inline diffs and click-to-approve, Cline or Windsurf feel more polished. Goose is a terminal-and-window tool first; the editor experience is intentionally not the focus. And the docs move quickly — pin a version for team use instead of chasing stable.

Advertisement

Found this useful?Email