Skip to main content

Install Goose

Supported Environments
The Goose CLI currently works on macOS and Linux systems and supports both ARM and x86 architectures. However, the macOS desktop app is not currently supported for x86. On Windows, Goose CLI can run via WSL. If you'd like to request support for additional operating systems, please vote on GitHub.

Choose to install Goose on CLI and/or Desktop:

Run the following command to install the latest version of Goose:

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

This script will fetch the latest version of Goose and set it up on your system.

Best Practice

It’s best to keep Goose updated. You can update it by re-running the installation script.

Automation

You can disable automatic interactive configuration by adding | CONFIGURE=false bash to the script above.

Set LLM Provider

Goose works with a set of supported LLM providers, and you’ll need an API key to get started. When you use Goose for the first time, you’ll be prompted to select a provider and enter your API key.

Upon installing, Goose will automatically enter its configuration screen. Here is where you can set up your LLM provider.

Windows Users

Choose to not store to keyring when prompted.

Example:

┌   goose-configure

◇ What would you like to configure?
│ Configure Providers

◇ Which model provider should we use?
│ OpenAI

◇ Provider openai requires OPENAI_API_KEY, please enter a value
│▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪

◇ Enter a model from that provider:
│ gpt-4o

◇ Welcome aboard! You're all set to start using this agent—let's achieve great things together!

└ Configuration saved successfully
Windows Users

On initial run, you may encounter errors about keyrings when setting your API Keys. Set the needed environment variables manually, e.g.:

export OPENAI_API_KEY={your_google_api_key}

To make the changes persist in WSL across sessions, add the goose path and export commands to your .bashrc or .bash_profile file so you can load it later.

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
echo 'export OPENAI_API_KEY=your_google_api_key' >> ~/.bashrc
source ~/.bashrc

Update Provider

To update your LLM provider and API key:

  1. Run the following command:
goose configure
  1. Select Configure Providers from the menu.
  2. Follow the prompts to choose your LLM provider and enter or update your API key.

Example:

To select an option during configuration, use the up and down arrows to highlight your choice then press Enter.

┌   goose-configure

◇ What would you like to configure?
│ Configure Providers

◇ Which model provider should we use?
│ Google Gemini

◇ Provider Google Gemini requires GOOGLE_API_KEY, please enter a value
│▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪

◇ Enter a model from that provider:
│ gemini-2.0-flash-exp

◇ Hello there! You're all set to use me, so please ask away!

└ Configuration saved successfully
Billing
Google Gemini offers a free tier you can get started with. Otherwise, you'll need to ensure that you have credits available in your LLM Provider account to successfully make requests.

Some providers also have rate limits on API usage, which can affect your experience. Check out our Handling Rate Limits guide to learn how to efficiently manage these limits while using Goose.

Running Goose

From your terminal, navigate to the directory you'd like to start from and run:

goose session

Additional Resources

You can also configure Extensions to extend Goose's functionality, including adding new ones or toggling them on and off. For detailed instructions, visit the Using Extensions Guide.