Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion documentation/docs/getting-started/_category_.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
"position": 2,
"link": {
"type": "generated-index",
"description": "Get up to speed quickly with Goose"
"description": "Get up to speed quickly with goose"
}
}
84 changes: 42 additions & 42 deletions documentation/docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,25 @@ import WindowsDesktopInstallButtons from '@site/src/components/WindowsDesktopIns
import LinuxDesktopInstallButtons from '@site/src/components/LinuxDesktopInstallButtons';
import { PanelLeft } from 'lucide-react';

# Install Goose
# Install goose

<Tabs>
<TabItem value="mac" label="macOS" default>
Choose to install the Desktop and/or CLI version of Goose:
Choose to install the Desktop and/or CLI version of goose:

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
Install Goose Desktop directly from the browser or with [Homebrew](https://brew.sh/).
Install goose Desktop directly from the browser or with [Homebrew](https://brew.sh/).

<h3 style={{ marginTop: '1rem' }}>Option 1: Install via Download</h3>
<MacDesktopInstallButtons/>

<div style={{ marginTop: '1rem' }}>
1. Unzip the downloaded zip file.
2. Run the executable file to launch the Goose Desktop application.
2. Run the executable file to launch the goose Desktop application.

:::tip Updating Goose
It's best to keep Goose updated by periodically running the installation steps again.
:::tip Updating goose
It's best to keep goose updated by periodically running the installation steps again.
:::
</div>
<h3>Option 2: Install via Homebrew</h3>
Expand All @@ -40,33 +40,33 @@ import { PanelLeft } from 'lucide-react';
---
<div style={{ marginTop: '1rem' }}>
:::info Permissions
If you're on an Apple Mac M3 and the Goose Desktop app shows no window on launch, check and update the following:
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 [Known Issues Guide](/docs/troubleshooting/known-issues#macos-permission-issues)
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 [Known Issues Guide](/docs/troubleshooting/known-issues#macos-permission-issues)
:::
</div>
</TabItem>
<TabItem value="cli" label="goose CLI">
Install Goose directly from the browser or with [Homebrew](https://brew.sh/).
Install goose directly from the browser or with [Homebrew](https://brew.sh/).

<h3 style={{ marginTop: '1rem' }}>Option 1: Install via Download script</h3>
Run the following command to install the latest version of Goose on macOS:
Run the following command to install the latest version of goose on macOS:

```sh
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.
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`:

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

:::tip Updating Goose
It's best to keep Goose updated. To update Goose, run:
:::tip Updating goose
It's best to keep goose updated. To update goose, run:
```sh
goose update
```
Expand All @@ -82,11 +82,11 @@ import { PanelLeft } from 'lucide-react';
</TabItem>

<TabItem value="linux" label="Linux">
Choose to install the Desktop and/or CLI version of Goose:
Choose to install the Desktop and/or CLI version of goose:

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
Install Goose Desktop directly from the browser.
Install goose Desktop directly from the browser.

<h3 style={{ marginTop: '1rem' }}>Install via Download</h3>
<LinuxDesktopInstallButtons/>
Expand All @@ -96,29 +96,29 @@ import { PanelLeft } from 'lucide-react';
1. Download the DEB file
2. Navigate to the directory where it is saved in a terminal
3. Run `sudo dpkg -i (filename).deb`
4. Launch Goose from the app menu
4. Launch goose from the app menu

:::tip Updating Goose
It's best to keep Goose updated by periodically running the installation steps again.
:::tip Updating goose
It's best to keep goose updated by periodically running the installation steps again.
:::
</div>
</TabItem>
<TabItem value="cli" label="goose CLI">
Run the following command to install the Goose CLI on Linux:
Run the following command to install the goose CLI on Linux:

```sh
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.
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`:

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

:::tip Updating Goose
It's best to keep Goose updated. To update Goose, run:
:::tip Updating goose
It's best to keep goose updated. To update goose, run:
```sh
goose update
```
Expand All @@ -128,26 +128,26 @@ import { PanelLeft } from 'lucide-react';
</TabItem>

<TabItem value="windows" label="Windows">
Choose to install the Desktop and/or CLI version of Goose:
Choose to install the Desktop and/or CLI version of goose:

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
Install Goose Desktop directly from the browser.
Install goose Desktop directly from the browser.

<h3 style={{ marginTop: '1rem' }}>Install via Download</h3>
<WindowsDesktopInstallButtons/>

<div style={{ marginTop: '1rem' }}>
1. Unzip the downloaded zip file.
2. Run the executable file to launch the Goose Desktop application.
2. Run the executable file to launch the goose Desktop application.

:::tip Updating Goose
It's best to keep Goose updated by periodically running the installation steps again.
:::tip Updating goose
It's best to keep goose updated by periodically running the installation steps again.
:::
</div>
</TabItem>
<TabItem value="cli" label="goose CLI">
To install Goose natively on Windows, you need one of the following environments:
To install goose natively on Windows, you need one of the following environments:
- **Git Bash** (recommended): Comes with [Git for Windows](https://git-scm.com/download/win)
- **MSYS2**: Available from [msys2.org](https://www.msys2.org/)
- **PowerShell**: Available on Windows 10/11 by default
Expand All @@ -170,13 +170,13 @@ import { PanelLeft } from 'lucide-react';
```powershell
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/block/goose/main/download_cli.ps1" -OutFile "download_cli.ps1";
```
Then run the script to install Goose:
Then run the script to install goose:
```powershell
.\download_cli.ps1
```

:::info Windows PATH Setup
If you see a warning that Goose is not in your PATH, you need to add Goose to your PATH:
If you see a warning that goose is not in your PATH, you need to add goose to your PATH:

<details>
<summary>For Git Bash/MSYS2</summary>
Expand Down Expand Up @@ -204,7 +204,7 @@ import { PanelLeft } from 'lucide-react';
<details>
<summary>Install via Windows Subsystem for Linux (WSL)</summary>

We recommend running the Goose CLI natively on Windows, but you can use WSL if you prefer a Linux-like environment.
We recommend running the goose CLI natively on Windows, but you can use WSL if you prefer a Linux-like environment.

1. Open [PowerShell](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows) as Administrator and install WSL and the default Ubuntu distribution:

Expand All @@ -218,7 +218,7 @@ import { PanelLeft } from 'lucide-react';
wsl -d Ubuntu
```

3. Run the Goose installation script:
3. Run the goose installation script:
```bash
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
```
Expand All @@ -236,7 +236,7 @@ import { PanelLeft } from 'lucide-react';
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
```

If needed, add Goose to your path:
If needed, add goose to your path:

```
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
Expand All @@ -251,7 +251,7 @@ import { PanelLeft } from 'lucide-react';
</Tabs>

## Set LLM Provider
Goose works with [supported LLM providers][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 works with [supported LLM providers][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.

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
Expand All @@ -272,7 +272,7 @@ Goose works with [supported LLM providers][providers] that give Goose the AI int
│ Tetrate Agent Router Service Login
Opening browser for Tetrate Agent Router Service authentication...
[Goose opens the browser and prints details]
[goose opens the browser and prints details]

Authentication complete!

Expand All @@ -283,7 +283,7 @@ Goose works with [supported LLM providers][providers] that give Goose the AI int
Testing configuration...
✓ Configuration test passed!
✓ Developer extension enabled!
└ Tetrate Agent Router Service setup complete! You can now use Goose.
└ Tetrate Agent Router Service setup complete! You can now use goose.
```

:::info Windows Users
Expand All @@ -293,7 +293,7 @@ Goose works with [supported LLM providers][providers] that give Goose the AI int
export OPENAI_API_KEY={your_api_key}
```

Then run `goose configure` again. Goose will detect the environment variable and display:
Then run `goose configure` again. goose will detect the environment variable and display:

```
● OPENAI_API_KEY is set via environment variable
Expand Down Expand Up @@ -358,13 +358,13 @@ You can change your LLM provider and/or model or update your API key at any time

<RateLimits />

## Running Goose
## Running goose

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
Starting a session in the Goose Desktop is straightforward. After choosing your provider, you'll see the session interface ready for use.
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.
Type your questions, tasks, or instructions directly into the input field, and goose will get to work immediately.
</TabItem>
<TabItem value="cli" label="goose CLI">
From your terminal, navigate to the directory you'd like to start from and run:
Expand All @@ -376,7 +376,7 @@ You can change your LLM provider and/or model or update your API key at any time

## 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, making them available to both the Desktop application and CLI. This makes it convenient to switch between interfaces while maintaining consistent settings. For more information, visit the [Config Files][config-files] guide.
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, making them available to both the Desktop application and CLI. This makes it convenient to switch between interfaces while maintaining consistent settings. For more information, visit the [Config Files][config-files] guide.

:::info
While core configurations are shared between interfaces, extensions have flexibility in how they store authentication credentials. Some extensions may use the shared config files while others implement their own storage methods.
Expand All @@ -398,7 +398,7 @@ While core configurations are shared between interfaces, extensions have flexibi

## 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][using-extensions].
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].

[using-extensions]: /docs/getting-started/using-extensions
[providers]: /docs/getting-started/providers
Expand Down
2 changes: 1 addition & 1 deletion documentation/docs/getting-started/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -792,7 +792,7 @@ Beyond single-model setups, goose supports [multi-model configurations](/docs/gu

---

If you have any questions or need help with a specific provider, feel free to reach out to us on [Discord](https://discord.gg/goose-oss) or on the [Goose repo](https://github.com/block/goose).
If you have any questions or need help with a specific provider, feel free to reach out to us on [Discord](https://discord.gg/goose-oss) or on the [goose repo](https://github.com/block/goose).


[providers]: /docs/getting-started/providers
Expand Down
12 changes: 6 additions & 6 deletions documentation/docs/guides/allowlist.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
sidebar_position: 90
title: Goose Extension Allowlist
title: goose Extension Allowlist
sidebar_label: Extension Allowlist
---

Goose is an extensible framework that, by default, allows you to install any MCP server. However, you may want stricter controls on which MCP servers can be installed as extensions (e.g. in a corporate setting).
goose is an extensible framework that, by default, allows you to install any MCP server. However, you may want stricter controls on which MCP servers can be installed as extensions (e.g. in a corporate setting).

This guide explains how you can create an **allowlist** of safe extensions that work with Goose Desktop and CLI. An allowlist lets administrators control which MCP servers can be installed as Goose extensions. When enabled, Goose will only install extensions that are on the list, and will block installation of any others.
This guide explains how you can create an **allowlist** of safe extensions that work with goose Desktop and CLI. An allowlist lets administrators control which MCP servers can be installed as goose extensions. When enabled, goose will only install extensions that are on the list, and will block installation of any others.

## How It Works

1. The allowlist is a YAML file that contains a list of allowed extension commands.
2. Goose fetches the allowlist from a URL specified by the `GOOSE_ALLOWLIST` environment variable.
3. The allowlist is fetched when first needed and is cached. It is refetched on every restart of Goose.
4. When a user attempts to install an extension, Goose checks the MCP server's installation command against the allowlist.
2. goose fetches the allowlist from a URL specified by the `GOOSE_ALLOWLIST` environment variable.
3. The allowlist is fetched when first needed and is cached. It is refetched on every restart of goose.
4. When a user attempts to install an extension, goose checks the MCP server's installation command against the allowlist.
5. If the command is not in the allowlist, the extension installation is rejected.

## Configuration
Expand Down
Loading
Loading