跳到正文
FunCoding

搜索

搜索文档、文章、Skill 和 MCP

goose Permission Modes

goose’s 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 Video Walkthrough

Permission Modes

ModeDescriptionBest For
Completely Autonomousgoose can modify files, use extensions, and delete files without requiring approvalUsers who want full automation and seamless integration into their workflow
Manual Approvalgoose asks for confirmation before using any tools or extensions (supports granular tool permissions)Users who want to review and approve every change and tool usage
Smart Approvalgoose uses a risk-based approach to automatically approve low-risk actions and flag others for approval (supports granular tool permissions)Users who want a balanced mix of autonomy and oversight based on the action’s impact
Chat Onlygoose only engages in chat, with no extension use or file modificationsUsers who prefer a conversational AI experience for analysis, writing, and reasoning tasks without automation

Autonomous Mode is applied by default.

Configuring goose mode

Here's how to configure:

goose Desktop

Each session has its own permission mode. Use Settings to choose the default mode for new sessions. Existing sessions keep their current mode when you change this default.

  1. Click the button on the top-left to open the sidebar.
  2. Click the Settings button on the sidebar.
  3. Click Chat.
  4. Under Default Mode, choose the mode you'd like.

goose CLI

In Session

To change modes mid-session, use the /mode command.

  • Autonomous: /mode auto
  • Smart Approve: /mode smart_approve
  • Approve: /mode approve
  • Chat: /mode chat

From Settings

  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, Tool Permissions, Experiment, goose recipe github repo and more)
// highlight-end
└
  1. Choose goose mode from the menu and press Enter.
┌   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
│  ○ Router Tool Selection Strategy 
│  ○ Tool Permission 
│  ○ Tool Output 
│  ○ Max Turns 
│  ○ Toggle Experiment 
│  ○ goose recipe github repo 
│  ○ Scheduler Type 
└
  1. Choose the goose mode you would like to configure.
┌   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 (Full file modification, extension usage, edit, create and delete files freely)
// highlight-end
|  ○ Approve Mode
|  ○ Smart Approve Mode    
|  ○ Chat Mode
|
└  Set to Auto Mode - full file modification enabled

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.

CLI Provider Permission Integration

When using CLI providers like Claude Code, goose integrates with the provider's native permission system. In approve mode, permission requests from Claude Code are routed through goose's confirmation interface, giving you a unified experience.

For example, with Claude Code in approve mode:

  • Claude Code detects sensitive operations (file writes, shell commands, tool calls)
  • The permission prompt appears in goose's interface (CLI or Desktop)
  • Your allow/deny decision is sent back to Claude Code
  • Claude Code proceeds or adapts based on your response

This integration uses the same mechanism as the official Claude Agent SDKs, ensuring compatibility and consistent behavior.

See CLI Providers - Claude Code Configuration for setup details.