Files
goose/documentation/docs/guides/goose-permissions.md
2025-03-04 11:05:23 -08:00

5.0 KiB
Raw Blame History

sidebar_position, title
sidebar_position title
3 Goose Permissions

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Managing Goose Modes

Gooses permissions determine how much autonomy it has when modifying files, using extensions, and performing automated actions. By selecting a permission mode, you have full control over how Goose interacts with your development environment.

Permission Modes

Mode Description Best For
Auto Mode Goose can modify files, use extensions, and delete files without requiring approval. Users who want full automation and seamless integration into their workflow.
Approve Mode Goose asks for confirmation before modifying, creating, deleting files and before using extensions. Users who want to review and approve changes and extension use before they happen.
Chat Mode Goose only engages in chat, with no extension use or file modifications. Users who prefer a conversational AI experience without automation.

:::warning Auto Mode is applied by default. :::

Configuring Goose Mode

Here's how to configure:

1. Run the following command:
```sh
goose configure
```

2. Select `Goose Settings` from the menu and press Enter.

```sh
┌ goose-configure
│
◆ What would you like to configure?
| ○ Configure Providers
| ○ Add Extension
| ○ Toggle Extensions
| ○ Remove Extension
// highlight-start
| ● Goose Settings (Set the Goose Mode, Tool Output, Experiment and more)
// highlight-end
└
```

3. Choose `Goose Mode` from the menu and press Enter.

```sh
┌   goose-configure
│
◇  What would you like to configure?
│  Goose Settings
│
◆  What setting would you like to configure?
// highlight-start
│  ● Goose Mode (Configure Goose mode)
// highlight-end
|  ○ Tool Output
└
```

4.  Choose the Goose mode you would like to configure.

```sh
┌   goose-configure
│
◇  What would you like to configure?
│  Goose Settings
│
◇  What setting would you like to configure?
│  Goose Mode
│
◆  Which Goose mode would you like to configure?
// highlight-start
│  ● Auto Mode
// highlight-end
|  ○ Approve Mode
|  ○ Chat Mode
|
└  Set to Auto Mode - full file modification enabled
```
1. Click `...` in the upper right corner
2. Click `Settings`
3. Scroll down to `Others` section
4. Under `Mode Selection`, choose the mode you'd like

:::info
If you choose `Approve` mode, you will see "Allow" and "Deny" buttons in your session windows during tool calls with write operations.
:::

Smart Approve

Goose introduces the Smart Approve feature when the Goose mode is set to Approve. With Smart Approve enabled, Goose evaluates the risk level of a tool call before execution.

  • If the tool call is deemed risky (e.g. tool requires Goose to write), Goose will prompt you for confirmation before proceeding.
  • If the tool call is considered safe, Goose will execute it directly without any notification.

This feature is enabled by default. If you wish to disable Smart Approve, you can

  1. Run the following command:
goose configure
  1. Select Goose Settings from the menu and press Enter.
┌ goose-configure
│
◆ What would you like to configure?
| ○ Configure Providers
| ○ Add Extension
| ○ Toggle Extensions
| ○ Remove Extension
// highlight-start
 | ● Goose Settings (Set the Goose Mode, Tool Output, Experiment and more)
// highlight-end
└
  1. Choose Toggle Experiment from the menu and press Enter.
┌   goose-configure
│
◇  What would you like to configure?
│  Goose Settings
│
◆  What setting would you like to configure?
│  ○ Goose Mode
│  ○ Tool Output
// highlight-start
│  ● Toggle Experiment (Enable or disable an experiment feature)
// highlight-end
└
  1. Toggle GOOSE_SMART_APPROVE and press Enter.
┌   goose-configure
┌   goose-configure
│
◇  What would you like to configure?
│  Goose Settings
│
◇  What setting would you like to configure?
│  Toggle Experiment
│
◆  enable experiments: (use "space" to toggle and "enter" to submit)
// highlight-start
│  ◼ GOOSE_SMART_APPROVE
// highlight-end
└