📄️ Managing Sessions
A session is a single, continuous interaction between you and Goose, providing a space to ask questions and prompt action. In this guide, we'll cover how to start, exit, and resume a session.
🗃️ Recipes
4 items
📄️ Managing Projects
Goose Projects automatically track your working directories and associated sessions, making it easy to resume work across multiple codebases with full context preservation.
🗃️ Managing Tools
3 items
📄️ Updating Goose
The Goose CLI and desktop apps are under active and continuous development. To get the newest features and fixes, you should periodically update your Goose client using the following instructions.
📄️ Goose Permissions
Goose’s permissions determine how much autonomy it has when modifying files, using extensions, and performing automated actions. By selecting a permission mode, you have full control over how Goose interacts with your development environment.
📄️ Using Goosehints
.goosehints is a text file used to provide additional context about your project and improve the communication with Goose. The use of goosehints ensures that Goose understands your requirements better and can execute tasks more effectively.
📄️ Quick Tips
Best practices for working with Goose
📄️ CLI Commands
Goose provides a command-line interface (CLI) with several commands for managing sessions, configurations and extensions. Below is a list of the available commands and their descriptions:
📄️ CLI Providers
Use Claude Code or Gemini CLI subscriptions in Goose
📄️ LLM Rate Limits
Rate limiting is the process of restricting the number of requests a user or application can send to an LLM API within a specific timeframe. LLM providers enforce this with the purpose of managing resources and preventing abuse.
📄️ Logging System
Goose uses a unified storage system for conversations and interactions. All conversations and interactions (both CLI and Desktop) are stored locally in the following locations:
📄️ File Management
Efficiently find and reference files in Goose Desktop and follow best practices for safe file operations
📄️ Run Tasks
When working with the Goose CLI, you can pass files and instructions to the goose run command to execute tasks and workflows. This could be a simple one-liner command or a complex set of instructions stored in a file.
📄️ Using Gooseignore
.gooseignore is a text file that defines patterns for files and directories that Goose will not access. This means Goose cannot read, modify, delete, or run shell commands on these files when using the Developer extension's tools.
📄️ Configuration File
Goose uses a YAML configuration file to manage settings and extensions. This file is located at:
📄️ Creating Plans
Starting a project without a clear plan is like building a house without a blueprint. It can lead to:
📄️ Extension Allowlist
Goose is an extensible framework that, by default, allows you to install any MCP server. However, you may want stricter controls on which MCP servers can be installed as extensions (e.g. in a corporate setting).
📄️ Environment Variables
Goose supports various environment variables that allow you to customize its behavior. This guide provides a comprehensive list of available environment variables grouped by their functionality.
📄️ Smart Context Management
When working with Large Language Models (LLMs), there are limits to how much conversation history they can process at once. Goose provides smart context management features to help handle context and conversation limits so you can maintain productive sessions. Here are some key concepts:
📄️ Enhanced Code Editing
Use AI models to intelligently apply code changes