Install Goose
- macOS
- Linux
- Windows
Choose to install the Desktop and/or CLI version of Goose:
- Goose Desktop
- Goose CLI
Install Goose Desktop directly from the browser or with Homebrew.
Option 1: Install via Download
To download Goose Desktop for macOS, click one of the buttons below:
- Unzip the downloaded zip file.
- Run the executable file to launch the Goose Desktop application.
It's best to keep Goose updated by periodically running the installation steps again.
Option 2: Install via Homebrew
Homebrew downloads the same app but can take care of updates too. brew install --cask block-goose
If you're on an Apple Mac M3 and the Goose Desktop app shows no window on launch, check and update the following:
Ensure the ~/.config
directory has read and write access.
Goose needs this access to create the log directory and file. Once permissions are granted, the app should load correctly. For steps on how to do this, refer to the Troubleshooting Guide
Install Goose directly from the browser or with Homebrew.
Option 1: Install via Download script
Run the following command to install the latest version of Goose on macOS: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.
If you'd like to install without interactive configuration, disable CONFIGURE
:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
It's best to keep Goose updated. To update Goose, run:
goose update
Option 2: Install via Homebrew
Homebrew downloads the a precompiled CLI tool and can take care of updates.brew install block-goose-cli
Choose to install the Desktop and/or CLI version of Goose:
- Goose Desktop
- Goose CLI
Install Goose Desktop directly from the browser.
Install via Download
To download Goose Desktop for Linux, click one of the buttons below:
For Debian/Ubuntu-based distributions:
- Download the DEB file
- Navigate to the directory where it is saved in a terminal
- Run
sudo dpkg -i (filename).deb
- Launch Goose from the app menu
It's best to keep Goose updated by periodically running the installation steps again.
Run the following command to install the Goose CLI on Linux:
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.
If you'd like to install without interactive configuration, disable CONFIGURE
:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
It's best to keep Goose updated. To update Goose, run:
goose update
Choose to install the Desktop and/or CLI version of Goose:
- Goose Desktop
- Goose CLI
Install Goose Desktop directly from the browser.
Install via Download
To download Goose Desktop for Windows, click the button below:
- Unzip the downloaded zip file.
- Run the executable file to launch the Goose Desktop application.
It's best to keep Goose updated by periodically running the installation steps again.
To install Goose natively on Windows, you need one of the following environments:
- Git Bash (recommended): Comes with Git for Windows
- MSYS2: Available from msys2.org
- PowerShell: Available on Windows 10/11 by default
Run the installation command in your chosen environment:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
To install without interactive configuration, disable CONFIGURE
:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
If you see a warning that Goose is not in your PATH, you need to add Goose to your PATH:
For Git Bash/MSYS2
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
For PowerShell
# Add to your PowerShell profile
$profilePath = $PROFILE
if (!(Test-Path $profilePath)) { New-Item -Path $profilePath -ItemType File -Force }
Add-Content -Path $profilePath -Value '$env:PATH = "$env:USERPROFILE\.local\bin;$env:PATH"'
# Reload profile or restart PowerShell
. $PROFILE
After updating your PATH, you can run goose
commands from any directory.
Install via Windows Subsystem for Linux (WSL)
We recommend running the Goose CLI natively on Windows, but you can use WSL if you prefer a Linux-like environment.
- Open PowerShell as Administrator and install WSL and the default Ubuntu distribution:
wsl --install
- If prompted, restart your computer to complete the WSL installation. Once restarted, or if WSL is already installed, launch your Ubuntu shell by running:
wsl -d Ubuntu
- Run the Goose installation script:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
If you encounter any issues on download, you might need to install bzip2
to extract the downloaded file:
sudo apt update && sudo apt install bzip2 -y
If you'd like to install without interactive configuration, disable CONFIGURE
:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
If needed, add Goose to your path:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc
source ~/.bashrc
Set LLM Provider
Goose works with supported LLM providers that give Goose the AI intelligence it needs to understand your requests. On first use, you'll be prompted to configure your preferred provider.
- Goose Desktop
- Goose CLI
On the welcome screen, choose how to configure a provider:
- Tetrate Agent Router - One-click OAuth authentication provides instant access to multiple AI models, starting credits, and built-in rate limiting.
INFO
You'll receive $10 in free credits the first time you automatically authenticate with Tetrate through Goose. This offer is available to both new and existing Tetrate users and is valid through October 2, 2025.
- OpenRouter - One-click OAuth authentication provides instant access to multiple AI models with built-in rate limiting.
- Other Providers - Choose from ~20 supported providers including OpenAI, Anthropic, Google Gemini, and others through manual configuration. Be ready to provide your API key.
The CLI automatically enters configuration mode where you can choose how to configure a provider:
- Tetrate Agent Router - One-click OAuth authentication provides instant access to multiple AI models, starting credits, and built-in rate limiting.
INFO
You'll receive $10 in free credits the first time you automatically authenticate with Tetrate through Goose. This offer is available to both new and existing Tetrate users and is valid through October 2, 2025.
- OpenRouter - One-click OAuth authentication provides instant access to multiple AI models with built-in rate limiting.
- Other Providers - Choose from ~20 supported providers including OpenAI, Anthropic, Google Gemini, and others through manual configuration. Be ready to provide your API key.
Example configuration flow:
┌ goose-configure
│
◇ How would you like to set up your provider?
│ Tetrate Agent Router Service Login
│
Opening browser for Tetrate Agent Router Service authentication...
[Goose opens the browser and prints details]
Authentication complete!
Configuring Tetrate Agent Router Service...
✓ Tetrate Agent Router Service configuration complete
✓ Models configured successfully
Testing configuration...
✓ Configuration test passed!
✓ Developer extension enabled!
└ Tetrate Agent Router Service setup complete! You can now use Goose.
If you choose to manually configure a provider, when prompted during configuration, choose to not store to keyring. If you encounter keyring errors when setting API keys, you can set environment variables manually instead:
export OPENAI_API_KEY={your_api_key}
Then run goose configure
again. Goose will detect the environment variable and display:
● OPENAI_API_KEY is set via environment variable
To make API keys persist across sessions, add them to your shell profile:
echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc
source ~/.bashrc
Goose relies heavily on tool calling capabilities and currently works best with Claude 4 models.
Update Provider
You can change your LLM provider and/or model or update your API key at any time.
- Goose Desktop
- Goose CLI
- Click the button in the top-left to open the sidebar.
- Click the
Settings
button on the sidebar. - Click the
Models
tab. - Choose to update your provider, switch models, or click
Reset Provider and Model
to clear your settings and return to the welcome screen. See details about these configuration options.
- Run the following command:
goose configure
- Select
Configure Providers
from the menu. - 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
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
- Goose Desktop
- Goose CLI
Starting a session in the Goose Desktop is straightforward. After choosing your provider, you'll see the session interface ready for use.
Type your questions, tasks, or instructions directly into the input field, and Goose will get to work immediately.
From your terminal, navigate to the directory you'd like to start from and run:
goose session
Shared Configuration Settings
The Goose CLI and Desktop UI share all core configurations, including LLM provider settings, model selection, and extension configurations. When you install or configure extensions in either interface, the settings are stored in a central location at ~/.config/goose/config.yaml
, making them available to both the Desktop application and CLI. This makes it convenient to switch between interfaces while maintaining consistent settings.
While core configurations are shared between interfaces, extensions have flexibility in how they store authentication credentials. Some extensions may use the shared config file while others implement their own storage methods.
- Goose Desktop
- Goose CLI
Navigate to shared configurations through:
- Click the button in the top-left to open the sidebar.
- Click the
Settings
button on the sidebar.
Use the following command to manage shared configurations:
goose configure
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.