Goose currently works on **macOS** and **Linux** systems, and supports both **ARM** and **x86** architectures. If you'd like to request support for additional operating systems, please [open an issue on GitHub](https://github.com/block/goose/issues/new?template=Blank+issue).
2. Run the executable file to launch the Goose desktop application.
:::tip Best Practice
It’s best to keep Goose updated. You can do this by checking the [Goose GitHub Release page](https://github.com/block/goose/releases/stable) and downloading updates when available.
:::
</div>
</TabItem>
</Tabs>
### Set Up a Provider
Goose works with a set of [supported LLM providers][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.
The process will look similar to the example below:
1. Click on the three dots in the top-right corner.
2. Select `Provider Settings` from the menu.
2. Choose a provider from the list.
3. Click Edit, enter your API key, and click `Set as Active`.
</TabItem>
</Tabs>
:::info Billing
You will need to have credits in your LLM Provider account (when necessary) to be able to successfully make requests. Some providers also have rate limits on API usage, which can affect your experience. Check out the [Handling Rate Limits][handling-rate-limits] guide to learn how to efficiently manage these limits while using Goose.
:::
## Running Goose
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
From your terminal, navigate to the directory you'd like to start from and run:
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][using-extensions].