Skip to main content

Goose in 5 minutes

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.

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!

Install Goose

You can use Goose via CLI or Desktop application.

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

Configure Provider

Goose works with supported LLM providers. When you install Goose, you'll be prompted to choose your preferred LLM and supply an API key.

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
│▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪

◇ 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
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.

Start Session

Sessions are single, continuous conversations between you and Goose. Let's start one.

  1. Make an empty directory (e.g. goose-demo) and navigate to that directory from the terminal.
  2. To start a new session, run:
goose session 

Write Prompt

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!

create an interactive browser-based tic-tac-toe game in javascript where a player competes against a bot

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.

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.

  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
goose configure
  1. Choose Add extension > Built-in Extension > Computer Controller. This extension enables webscraping, file caching, and automations.
┌   goose-configure 

◇ What would you like to configure?
│ Add Extension

◇ What type of extension would you like to add?
│ Built-in Extension

◆ Which built-in extension would you like to enable?
│ ○ Developer Tools
│ ● Computer Controller (controls for webscraping, file caching, and automations)
│ ○ Google Drive
│ ○ Memory
│ ○ JetBrains

  1. Now that Goose has browser capabilities, let's resume your last session:
 goose session -r
  1. Ask Goose to launch your game in a browser:
open index.html in a browser

Go ahead and play your game, I know you want to 😂 ... good luck!

Next Steps

Congrats, you've successfully used Goose to develop a web app! 🎉

Here are some ideas for next steps:

  • Continue your session with Goose and it improve your game (styling, functionality, etc).
  • Browse other available extensions and install more to enhance Goose's functionality even further.
  • Provide Goose with a set of hints to use within your sessions.