Skip to main content
The configure command provides an interactive interface for managing Goose configuration.

Usage

goose configure

First Time Setup

On first run, Goose guides you through initial configuration:
  1. Telemetry consent - Choose whether to share anonymous usage data
  2. Provider setup - Select from:
    • OpenRouter Login (recommended)
    • Tetrate Agent Router Service Login
    • Manual Configuration
  3. Model selection - Choose your AI model
Example:
goose configure
# Follow prompts for setup

Configuration Options

When run on an existing configuration:

Configure Providers

Change provider or update credentials. Available Providers:
  • OpenAI
  • Anthropic
  • Ollama (local)
  • Databricks
  • Gemini
  • Custom providers
Process:
  1. Select provider
  2. Enter credentials (API keys)
  3. Configure advanced settings (optional)
  4. Select model
  5. Test configuration
Example:
goose configure
# Select: Configure Providers
# Choose: anthropic
# Enter: ANTHROPIC_API_KEY
# Select model: claude-sonnet-4-20250514

Custom Providers

Add custom provider with compatible API. Supported APIs:
  • OpenAI-compatible
  • Anthropic-compatible
  • Custom implementations
Configuration:
goose configure
# Select: Custom Providers
# Enter: Provider name, API endpoint, credentials

Add Extension

Connect to a new extension. Extension Types: Built-in Extensions:
  • developer - Code editing and shell access
  • autovisualiser - Data visualization
  • computercontroller - Web scraping and automation
  • memory - Persistent storage
  • tutorial - Interactive guides
Command-line (Stdio) Extensions:
  • Run local commands or scripts
  • Examples: npx -y @block/gdrive
Remote (Streamable HTTP) Extensions:
  • Connect via MCP Streamable HTTP
  • Format: http://localhost:8000/messages
Example:
goose configure
# Select: Add Extension
# Choose: Built-in Extension
# Select: memory
# Set timeout: 120

Toggle Extensions

Enable or disable connected extensions. Example:
goose configure
# Select: Toggle Extensions
# Use space to select/deselect
# Press Enter to save

Remove Extension

Remove an extension (must be disabled first). Example:
goose configure
# Select: Remove Extension
# Choose extension to remove

Goose Settings

Goose Mode

Control agent autonomy:
Auto Mode
mode
Full file modification, extension usage. Edit, create, and delete files freely.
Approve Mode
mode
All tools, extensions, and file modifications require human approval.
Smart Approve Mode
mode
Editing, creating, deleting files and using extensions require approval.
Chat Mode
mode
Engage with provider without tools, extensions, or file modification.
Example:
goose configure
# Select: goose settings → goose mode
# Choose: Smart Approve Mode

Telemetry

Enable or disable anonymous usage data collection. What’s Collected:
  • Operating system and architecture
  • Goose version
  • Provider and model used
  • Extension usage counts (names only)
  • Session metrics (duration, tokens)
  • Error types (no details)
Not Collected:
  • Conversations or code
  • Tool arguments
  • Error messages
  • Personal data
Example:
goose configure
# Select: goose settings → Telemetry
# Choose: Yes/No

Tool Permissions

Set permission levels for individual tools. Permission Levels:
  • always_allow - Never ask for approval
  • always_deny - Never allow execution
  • ask - Prompt for approval each time
Example:
goose configure
# Select: goose settings → Tool Permission
# Select extension → Select tool → Set permission

Tool Output

Control how much tool output is shown.
High Importance
level
Show only critical output
Medium Importance
level
Include file write results
All (default)
level
Show all output including shell commands
Example:
goose configure
# Select: goose settings → Tool Output
# Choose: Medium Importance

Max Turns

Set maximum turns without user input. Default: 1000 Example:
goose configure
# Select: goose settings → Max Turns
# Enter: 50

Secret Storage

Configure how secrets are stored.
System Keyring
storage
Use secure system keyring (recommended)Platforms:
  • macOS: Keychain
  • Windows: Credential Manager
  • Linux: Secret Service API
File-based Storage
storage
Store in ~/.config/goose/secrets.yaml (plain text)Use when keyring access is restricted.
Example:
goose configure
# Select: goose settings → Secret Storage
# Choose: System Keyring

Toggle Experiment

Enable or disable experimental features. Example:
goose configure
# Select: goose settings → Toggle Experiment
# Select experiments to enable

Goose Recipe GitHub Repo

Configure GitHub repository for recipes. Example:
goose configure
# Select: goose settings → goose recipe github repo
# Enter: username/repo

Configuration Files

Configuration is stored in: Config: ~/.config/goose/config.yaml Secrets: System keyring or ~/.config/goose/secrets.yaml Example config.yaml:
goose_provider: anthropic
goose_model: claude-sonnet-4-20250514
goose_mode: smart-approve

extensions:
  developer:
    enabled: true
    config:
      type: platform
      name: developer
      description: Code editing and shell access
      bundled: true
  
  memory:
    enabled: true
    config:
      type: builtin
      name: memory
      description: Persistent memory storage
      timeout: 120
      bundled: true

telemetry_enabled: true
max_turns: 1000

Environment Variables

Configuration can be overridden via environment: Provider/Model:
  • GOOSE_PROVIDER - Override provider
  • GOOSE_MODEL - Override model
  • ANTHROPIC_API_KEY - Anthropic API key
  • OPENAI_API_KEY - OpenAI API key
Behavior:
  • GOOSE_MODE - Override mode setting
  • GOOSE_CLI_MIN_PRIORITY - Tool output level
  • GOOSE_TELEMETRY_OFF - Disable telemetry
Storage:
  • GOOSE_DISABLE_KEYRING - Use file storage instead of keyring
Example:
export GOOSE_PROVIDER=anthropic
export GOOSE_MODEL=claude-sonnet-4-20250514
export GOOSE_MODE=auto
goose session

OAuth Authentication

Some providers support OAuth: Supported:
  • Databricks
  • GitHub (for custom providers)
Flow:
  1. Select provider
  2. Choose OAuth option
  3. Follow device code flow
  4. Complete authentication in browser

Testing Configuration

Configuration is automatically tested after setup:
 Checking your configuration...
 Successfully connected to anthropic
 Model: claude-sonnet-4-20250514
Failed tests show specific errors:
 Failed to configure provider: Authentication failed

Examples

Complete setup:
goose configure
# Select: Configure Providers
# Provider: anthropic
# Enter ANTHROPIC_API_KEY
# Model: claude-sonnet-4-20250514
# ✓ Configuration saved
Add extensions:
goose configure
# Select: Add Extension
# Type: Built-in Extension  
# Extension: developer
# ✓ Enabled developer extension
Update settings:
goose configure
# Select: goose settings
# Setting: goose mode
# Mode: Smart Approve Mode
# ✓ Set to Smart Approve Mode

See Also

Build docs developers (and LLMs) love