Goose

Goose: Advanced features

This is page 7 of 8 for Goose. It covers six power features for after the playbook feels routine, and each one comes with what it is for, the documented way to turn it on, and what you trade for it.

None of these are needed for the jobs in this guide. Try one at a time, and keep Manual Approval on while you learn it.

Tool permissions

What it is for. Manual Approval sets one rule for every tool, but tool permissions let you set a rule for each tool on its own. Each tool can be Always Allow, Ask Before, or Never Allow, and the docs suggest Never Allow for things like deleting resources or reading credentials.

How to turn it on. Open the sidebar, click Settings, then Chat. Under Mode, click the button next to your selected Manual or Smart mode, click the extension you want, such as Developer, and use the dropdown next to each tool. Click Save Changes when you are done. In the terminal version, the same choice is under goose configure, then goose settings, then Tool Permission.

More extensions

What it is for. Extensions are MCP servers that connect Goose to other apps and services, and the docs list more than 70 of them. Goose also checks outside extensions for known malware before it turns them on. For how skills and MCP compare across agents, and how to choose safe ones, see Skills and MCP.

How to turn it on. Open the sidebar and click Extensions. Built-in extensions have a switch, and for any other one, click Add custom extension, fill in the details the extension's own page gives you, and click Add. The docs say Goose works best with fewer than 25 tools turned on in total, so turn off what you are not using.

Standing instructions: hints, skills, and recipes

What it is for. Instead of repeating the same rules in every prompt, you can save them once. A .goosehints file holds rules Goose reads at the start of every chat. A skill is a saved set of steps Goose loads when a job matches it, and a recipe is a whole job you can rerun with one click.

How to turn it on. For hints in one folder, set the directory switcher to that folder, then open Settings and click Chat. Scroll to Project Hints (.goosehints), click Configure, type your rules, click Save, and start a new chat. Rules for every chat go in a .goosehints file in ~/.config/goose. A skill is a SKILL.md file in its own folder inside ~/.agents/skills/, and recipes are on the playbook page.

The terminal version and headless runs

What it is for. Goose also comes as a command-line program that shares its settings with the desktop app. Its goose run command can do a job with no chat window at all, which the docs call headless mode.

How to turn it on. On a Mac, the install guide gives this command.

curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash

On Windows, it gives this command for PowerShell. The install guide also covers Git Bash, and a fix if goose is not found afterward.

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/aaif-goose/goose/main/download_cli.ps1" -OutFile "download_cli.ps1";
.\download_cli.ps1

The script says "Windows ARM64 is not currently supported." To start a chat in the folder you are in, with a cap on turns, the commands page gives options such as goose session --max-turns 25, and a headless job looks like goose run --text "your instructions" --max-turns 10. The --max-tool-repetitions option stops the same tool from being called over and over with the same input.

Extensions inside a Docker container

What it is for. Goose itself always runs on your real computer, but the --container option runs its extensions inside a Docker container instead. That puts a wall between those tools and your real files, which Goose otherwise lacks.

How to turn it on. This is terminal only. Start a container with Docker, find its name with docker ps, and run goose session --container <container_id>. The docs say each extension must already be installed inside the container, and that built-in extensions, which include Developer, need the Goose terminal program installed inside the container too. A separate docs page builds Goose itself inside Docker from its source code.

A local model with Ollama

What it is for. A local model keeps your prompts on your computer and costs nothing per use. Goose supports Ollama, LM Studio, and several other local options.

How to turn it on. Install Ollama, download a model that supports tool calling, and start it. The docs name an older Qwen tag and say DeepSeek models do not work. Use qwen3.8:27b when the computer has room for its 18 GB file, or qwen3.5:4b on an 8 GB computer. In Goose, open Settings, click Models, then Configure Providers, and choose Ollama. Goose uses localhost:11434 unless you change OLLAMA_HOST, and it lists the models you have downloaded.

Shared advanced topics

These pages cover the same ideas for every agent in this guide:

Sources

Checked 14 November 2026.

Next

Next: Persona and rules.

Checked 14 November 2026 · prices, limits, and versions change