docs: add access control section to Developer tutorial (#5615)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
dianed-square
2025-11-06 11:45:31 -08:00
committed by GitHub
parent c8d2d47c6f
commit b063fcecdc
6 changed files with 172 additions and 96 deletions
+1 -1
View File
@@ -29,7 +29,7 @@ The following settings can be configured at the root level of your config.yaml f
| `GOOSE_PROVIDER` | Primary [LLM provider](/docs/getting-started/providers) | "anthropic", "openai", etc. | None | Yes |
| `GOOSE_MODEL` | Default model to use | Model name (e.g., "claude-3.5-sonnet", "gpt-4") | None | Yes |
| `GOOSE_TEMPERATURE` | Model response randomness | Float between 0.0 and 1.0 | Model-specific | No |
| `GOOSE_MODE` | [Tool execution behavior](/docs/guides/goose-permissions) | "auto", "approve", "chat", "smart_approve" | "smart_approve" | No |
| `GOOSE_MODE` | [Tool execution behavior](/docs/guides/goose-permissions) | "auto", "approve", "chat", "smart_approve" | "auto" | No |
| `GOOSE_MAX_TURNS` | [Maximum number of turns](/docs/guides/sessions/smart-context-management#maximum-turns) allowed without user input | Integer (e.g., 10, 50, 100) | 1000 | No |
| `GOOSE_LEAD_PROVIDER` | Provider for lead model in [lead/worker mode](/docs/guides/environment-variables#leadworker-model-configuration) | Same as `GOOSE_PROVIDER` options | Falls back to `GOOSE_PROVIDER` | No |
| `GOOSE_LEAD_MODEL` | Lead model for lead/worker mode | Model name | None | No |
+31 -26
View File
@@ -1,14 +1,14 @@
---
sidebar_position: 25
title: Goose Permission Modes
sidebar_label: Goose Permissions
title: goose Permission Modes
sidebar_label: goose Permissions
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { PanelLeft } from 'lucide-react';
import { PanelLeft, Tornado } from 'lucide-react';
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.
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.
<details>
<summary>Permission Modes Video Walkthrough</summary>
@@ -24,19 +24,18 @@ Gooses permissions determine how much autonomy it has when modifying files, u
## Permission Modes
| Mode | Description | Best For |
|--------------------|-------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| **Completely Autonomous** | Goose can modify files, use extensions, and delete files **without requiring approval**. | Users who want **full automation** and seamless integration into their workflow. |
| **Manual Approval**| Goose **asks for confirmation** before using any tools or extensions. | Users who want to **review and approve** every change and tool usage. |
| **Smart Approval** | Goose uses a risk-based approach to **automatically approve low-risk actions** and **flag others** for approval. | Users who want a **balanced mix of autonomy and oversight** based on the actions impact. |
| **Chat Only** | Goose **only engages in chat**, with no extension use or file modifications. | Users who prefer a **conversational AI experience** for analysis, writing, and reasoning tasks without automation. |
|
| Mode | Description | Best For |
|------|-------------|----------|
| **Completely Autonomous** | goose can modify files, use extensions, and delete files **without requiring approval** | Users who want **full automation** and seamless integration into their workflow |
| **Manual Approval** | goose **asks for confirmation** before using any tools or extensions (supports granular [tool permissions](/docs/guides/managing-tools/tool-permissions)) | Users who want to **review and approve** every change and tool usage |
| **Smart Approval** | goose uses a risk-based approach to **automatically approve low-risk actions** and **flag others** for approval (supports granular [tool permissions](/docs/guides/managing-tools/tool-permissions)) | Users who want a **balanced mix of autonomy and oversight** based on the actions impact |
| **Chat Only** | goose **only engages in chat**, with no extension use or file modifications | Users who prefer a **conversational AI experience** for analysis, writing, and reasoning tasks without automation |
:::warning
`Autonomous Mode` is applied by default.
:::
## Configuring Goose Mode
## Configuring goose mode
Here's how to configure:
@@ -48,7 +47,7 @@ Here's how to configure:
<Tabs groupId="method">
<TabItem value="session" label="In Session" default>
Click the Goose Mode option from the bottom menu.
Click the <Tornado className="inline" size={16} /> mode button from the bottom menu.
</TabItem>
<TabItem value="settings" label="From Settings">
1. Click the <PanelLeft className="inline" size={16} /> button on the top-left to open the sidebar.
@@ -76,7 +75,7 @@ Here's how to configure:
goose configure
```
2. Select `Goose Settings` from the menu and press Enter.
2. Select `goose settings` from the menu and press Enter.
```sh
┌ goose-configure
@@ -87,41 +86,47 @@ Here's how to configure:
| ○ Toggle Extensions
| ○ Remove Extension
// highlight-start
| ● Goose Settings (Set the Goose Mode, Tool Output, Experiment and more)
| ● goose settings (Set the goose mode, Tool Output, Tool Permissions, Experiment, goose recipe github repo and more)
// highlight-end
```
3. Choose `Goose Mode` from the menu and press Enter.
3. Choose `goose mode` from the menu and press Enter.
```sh
┌ goose-configure
◇ What would you like to configure?
Goose Settings
goose settings
◆ What setting would you like to configure?
// highlight-start
│ ● Goose Mode (Configure Goose mode)
│ ● goose mode (Configure goose mode)
// highlight-end
|Tool Output
Router Tool Selection Strategy
│ ○ Tool Permission
│ ○ Tool Output
│ ○ Max Turns
│ ○ Toggle Experiment
│ ○ goose recipe github repo
│ ○ Scheduler Type
```
4. Choose the Goose mode you would like to configure.
4. Choose the goose mode you would like to configure.
```sh
┌ goose-configure
◇ What would you like to configure?
Goose Settings
goose settings
◇ What setting would you like to configure?
Goose Mode
goose mode
◆ Which Goose mode would you like to configure?
◆ Which goose mode would you like to configure?
// highlight-start
│ ● Auto Mode
│ ● Auto Mode (Full file modification, extension usage, edit, create and delete files freely)
// highlight-end
| ○ Approve Mode
| ○ Smart Approve Mode
@@ -135,8 +140,8 @@ Here's how to configure:
</Tabs>
:::info
If you choose `Manual` (in Goose Desktop) or `Approve Mode` (in Goose CLI), you will see "Allow" and "Deny" buttons in your session windows during tool calls.
Goose will only ask for permission for tools that it deems are 'write' tools, e.g. any 'text editor write', 'text editor edit', 'bash - rm, cp, mv' commands.
In manual and smart approval modes, you will see "Allow" and "Deny" buttons in your session windows during tool calls.
goose will only ask for permission for tools that it deems are 'write' tools, e.g. any 'text editor write', 'text editor edit', 'bash - rm, cp, mv' commands.
Read/write approval makes best effort attempt at classifying read or write tools. This is interpreted by your LLM provider.
:::
+1 -1
View File
@@ -21,7 +21,7 @@ Subagents are independent instances that execute tasks while keeping your main c
## How to Use Subagents
:::tip Autonomous Subagent Creation
goose can autonomously decide to use subagents when it determines they would be beneficial for your task - you don't always need to explicitly request them. This happens automatically in autonomous mode (the default). Subagents are disabled in chat-only mode.
goose can autonomously decide to use subagents when it determines they would be beneficial for your task - you don't always need to explicitly request them. This happens automatically in autonomous [permission mode](/docs/guides/goose-permissions) (the default). Subagents are disabled in manual approval, smart approval, and chat-only modes.
:::
To use subagents, ask goose to delegate tasks using natural language. goose automatically decides when to spawn subagents and handles their lifecycle. You can: