2025-01-24 13:04:43 -08:00
---
2025-01-31 13:22:57 -06:00
sidebar_position: 1
2025-01-24 13:04:43 -08:00
title: Quickstart
---
import Tabs from '@theme/Tabs ';
import TabItem from '@theme/TabItem ';
2025-01-25 10:14:27 -06:00
import Link from "@docusaurus/Link ";
import { IconDownload } from "@site/src/components/icons/download ";
2025-01-27 17:53:21 -05:00
import SupportedEnvironments from '@site/src/components/SupportedEnvironments ';
import RateLimits from '@site/src/components/RateLimits ';
2025-01-24 13:04:43 -08:00
# Goose in 5 minutes
2025-01-27 17:53:21 -05:00
<SupportedEnvironments />
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
Goose is an open source AI agent that supercharges your software development by automating coding tasks. This quick tutorial will guide you through getting started with Goose!
2025-01-24 13:04:43 -08:00
2025-01-25 10:14:27 -06:00
## Install Goose
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
You can use Goose via CLI or Desktop application.
2025-01-24 13:04:43 -08:00
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
2025-01-30 08:29:15 -08:00
Run the following command to install the latest version of Goose:
2025-01-24 13:04:43 -08:00
```sh
2025-01-28 19:23:55 -07:00
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
2025-01-24 13:04:43 -08:00
` ``
</TabItem>
2025-01-30 10:48:01 -08:00
<TabItem value="ui" label="Goose Desktop (macOS only)">
2025-01-26 02:08:39 -06:00
To install the latest version of Goose, click the **button** below:
2025-01-25 10:14:27 -06:00
<div className="pill-button">
<Link
className="button button--primary button--lg"
to="https://github.com/block/goose/releases/download/stable/Goose.zip"
>
<IconDownload />
2025-01-30 10:48:01 -08:00
download goose desktop for macOS
2025-01-25 10:14:27 -06:00
</Link>
</div>
2025-01-30 08:29:15 -08:00
<div style={{ marginTop: '1rem' }}>
2025-01-24 13:04:43 -08:00
1. Unzip the downloaded ` Goose.zip` file.
2. Run the executable file to launch the Goose desktop application.
2025-01-30 08:29:15 -08:00
</div>
2025-01-24 13:04:43 -08:00
</TabItem>
</Tabs>
2025-01-25 10:14:27 -06:00
## Configure Provider
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
Goose works with [supported LLM providers][providers]. When you install Goose, you'll be prompted to choose your preferred LLM and supply an API key.
2025-01-24 13:04:43 -08:00
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
2025-01-26 02:08:39 -06:00
Use the up and down arrow keys to navigate the CLI menu, and press Enter once you've selected a choice.
` ``
┌ 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
│▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
2025-01-30 08:29:15 -08:00
│
2025-01-26 02:08:39 -06:00
◇ Enter a model from that provider:
│ gemini-2.0-flash-exp
│
◇ Hello! You're all set and ready to go, feel free to ask me anything!
│
└ Configuration saved successfully
` ``
2025-01-24 13:04:43 -08:00
</TabItem>
2025-01-25 10:14:27 -06:00
<TabItem value="ui" label="Goose Desktop">
2025-01-24 13:04:43 -08:00

</TabItem>
</Tabs>
2025-01-27 17:53:21 -05:00
<RateLimits />
2025-01-24 13:04:43 -08:00
2025-01-30 15:04:33 -05:00
:::tip Model Selection
Goose relies heavily on tool calling capabilities and currently works best with Anthropic's Claude 3.5 Sonnet and OpenAI's GPT-4o (2024-11-20) model.
:::
2025-01-25 10:14:27 -06:00
## Start Session
2025-01-26 02:08:39 -06:00
Sessions are single, continuous conversations between you and Goose. Let's start one.
2025-01-24 13:04:43 -08:00
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
2025-01-26 02:08:39 -06:00
1. Make an empty directory (e.g. ` goose-demo`) and navigate to that directory from the terminal.
2. To start a new session, run:
2025-01-24 13:04:43 -08:00
` ``sh
2025-01-30 08:29:15 -08:00
goose session
2025-01-24 13:04:43 -08:00
` ``
</TabItem>
2025-01-25 10:14:27 -06:00
<TabItem value="ui" label="Goose Desktop">
2025-01-24 13:04:43 -08:00
After choosing an LLM provider, you’ ll see the session interface ready for use.
2025-01-30 08:29:15 -08:00
Type your questions, tasks, or instructions directly into the input field, and Goose will immediately get to work.
2025-01-24 13:04:43 -08:00
</TabItem>
</Tabs>
2025-01-25 10:14:27 -06:00
## Write Prompt
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
From the prompt, you can interact with Goose by typing your instructions exactly as you would speak to a developer.
Let's ask Goose to make a tic-tac-toe game!
2025-01-24 13:04:43 -08:00
` ``
2025-01-26 02:08:39 -06:00
create an interactive browser-based tic-tac-toe game in javascript where a player competes against a bot
2025-01-24 13:04:43 -08:00
` ``
2025-01-26 02:08:39 -06:00
Goose will create a plan and then get right to work on implementing it. Once done, your directory should contain a JavaScript file as well as an HTML page for playing.
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
## Install an Extension
While you're able to manually navigate to your working directory and open the HTML file in a browser, wouldn't it be better if Goose did that for you? Let's give Goose the ability to open a web browser by enabling the ` Computer Controller` extension.
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
1. End the current session by entering ` Ctrl+C` so that you can return to the terminal's command prompt.
2. Run the configuration command
` ``sh
goose configure
` ``
2025-03-06 21:54:59 -06:00
3. Choose ` Add extension` > ` Built-in Extension` > ` Computer Controller`, and set timeout to 300s. This [extension](https://block.github.io/goose/v1/extensions/detail/nondeveloper) enables webscraping, file caching, and automations.
2025-01-26 02:08:39 -06:00
` ``
2025-01-30 08:29:15 -08:00
┌ goose-configure
2025-01-26 02:08:39 -06:00
│
◇ What would you like to configure?
2025-01-30 08:29:15 -08:00
│ Add Extension
2025-01-26 02:08:39 -06:00
│
◇ What type of extension would you like to add?
2025-01-30 08:29:15 -08:00
│ Built-in Extension
2025-01-26 02:08:39 -06:00
│
2025-03-06 21:54:59 -06:00
◇ Which built-in extension would you like to enable?
2025-01-30 08:29:15 -08:00
│ ○ Developer Tools
2025-01-26 02:08:39 -06:00
│ ● Computer Controller (controls for webscraping, file caching, and automations)
2025-01-30 08:29:15 -08:00
│ ○ Google Drive
│ ○ Memory
│ ○ JetBrains
2025-03-06 21:54:59 -06:00
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
└ Enabled Computer Controller extension
2025-01-26 02:08:39 -06:00
` ``
4. Now that Goose has browser capabilities, let's resume your last session:
` ``sh
goose session -r
` ``
5. Ask Goose to launch your game in a browser:
</TabItem>
<TabItem value="ui" label="Goose Desktop">
1. Locate the menu (` ...`) in the top right corner of the Goose Desktop.
2. Select ` Settings` from the menu.
3. Under the ` Extensions` section, toggle the ` Computer Controller` extension to enable it. This [extension](https://block.github.io/goose/v1/extensions/detail/nondeveloper) enables webscraping, file caching, and automations.
4. Click ` <- Back` in the upper left corner to return to your session.
5. Now that Goose has browser capabilities, let's ask it to launch your game in a browser:
</TabItem>
</Tabs>
2025-01-30 08:29:15 -08:00
2025-01-24 13:04:43 -08:00
` ``
2025-01-26 02:08:39 -06:00
open index.html in a browser
2025-01-24 13:04:43 -08:00
` ``
2025-01-26 02:08:39 -06:00
Go ahead and play your game, I know you want to 😂 ... good luck!
2025-01-24 13:04:43 -08:00
2025-01-25 10:14:27 -06:00
## Next Steps
2025-01-26 02:08:39 -06:00
Congrats, you've successfully used Goose to develop a web app! 🎉
2025-01-24 13:04:43 -08:00
2025-01-26 02:08:39 -06:00
Here are some ideas for next steps:
* Continue your session with Goose and it improve your game (styling, functionality, etc).
* Browse other available [extensions][extensions-guide] and install more to enhance Goose's functionality even further.
2025-01-25 10:14:27 -06:00
* Provide Goose with a [set of hints ](/docs/guides/using-goosehints ) to use within your sessions.
2025-01-24 13:04:43 -08:00
[handling-rate-limits]: /docs/guides/handling-llm-rate-limits-with-goose
[openai-key]: https://platform.openai.com/api-keys
[getting-started]: /docs/category/getting-started
2025-01-25 10:14:27 -06:00
[providers]: /docs/getting-started/providers
2025-01-24 13:04:43 -08:00
[managing-sessions]: /docs/guides/managing-goose-sessions
[contributing]: https://github.com/block/goose/blob/main/CONTRIBUTING.md
[quick-tips]: /docs/guides/tips
2025-01-25 10:14:27 -06:00
[extensions-guide]: /docs/getting-started/using-extensions
2025-01-24 13:04:43 -08:00
[cli]: /docs/guides/goose-cli-commands
[MCP]: https://www.anthropic.com/news/model-context-protocol