documentation/docs/guides/tips.md
goose is an AI agent, which means you can prompt goose to perform tasks for you like opening applications, running shell commands, automating workflows, writing code, browsing the web, and more.
You don't need fancy language or special syntax to prompt goose. Talk with goose like you would talk to a friend. You can even use slang or say please and thank you; goose will understand.
goose's capabilities are extensible. As an MCP client, goose can connect to your apps and services through extensions, allowing it to work across your entire workflow.
You can customize how much supervision goose needs. Choose between full autonomy, requiring approval before actions, or simply chatting without any actions.
Your experience with goose is shaped by your choice of LLM, as it handles all the planning while goose manages the execution. When choosing an LLM, consider its tool support, specific capabilities, and associated costs.
LLMs have context windows, which are limits on how much conversation history they can retain. Once exceeded, they may forget earlier parts of the conversation. Monitor your token usage and start new sessions as needed.
Press Cmd+Option+Shift+G (macOS) or Ctrl+Alt+Shift+G (Windows/Linux) and send a prompt to start a new session instantly.
Turning on too many extensions can degrade performance. Enable only essential extensions and tools to improve tool selection accuracy, save context window space, and stay within provider tool limits.
:::tip Code Mode for Many Extensions Consider enabling Code Mode, an alternative approach to tool calling that discovers tools on demand. :::
Help goose remember how you like to work by using .goosehints or other context files or skills for permanent project preferences and the Memory extension for things you want goose to dynamically recall later. Both can help save valuable context window space while keeping your preferences available.
goose is often eager to make changes. You can stop it from changing specific files by creating a .gooseignore file. In this file, you can list all the file paths you want it to avoid.
Commit your code changes early and often. This allows you to rollback any unexpected changes.
Administrators can use an allowlist to restrict goose to approved extensions only. This helps prevent risky installs from unknown MCP servers.
You can turn a successful session into a reusable "recipe" to share with others or use again later—no need to start from scratch.
You don’t need to get it right the first time. Iterating on prompts and tools is part of the workflow.
goose Desktop lets you customize the sidebar to match how you like to work. Adjust its position, appearance, and which items are visible.
Regularly update goose to benefit from the latest features, bug fixes, and performance improvements.
Use planning mode with a dedicated planner model for complex reasoning, while keeping a faster default model for everyday execution.
Write recipes that check your current state before acting, so they can be run multiple times without causing any errors or duplication.
Include informative log messages in your recipes for each major step to make debugging and troubleshooting easier should something fail.