Provider Configuration
GOOSE_PROVIDER
Override the configured provider. Values: Provider name (e.g.,anthropic, openai, databricks)
Example:
~/.config/goose/config.yaml
GOOSE_MODEL
Override the configured model. Values: Model identifier (e.g.,claude-4.5-sonnet, gpt-4)
Example:
Provider-Specific API Keys
Each provider has its own API key environment variable:Anthropic
OpenAI
OpenRouter
Databricks
Groq
Ollama
Mode Configuration
GOOSE_MODE
Set the operational mode for goose. Values:auto: Full autonomy, no approval requiredapprove: All actions require approvalsmart_approve: File modifications require approvalchat: No tools or file modifications
auto
Use cases:
auto: Rapid development, trusted environmentsapprove: Maximum control, learning goosesmart_approve: Balance of speed and safetychat: Simple Q&A, no file access
Telemetry and Privacy
GOOSE_TELEMETRY_OFF
Disable anonymous telemetry collection. Values:1 or true to disable
Example:
- Operating system and version
- Provider and model used
- Extension usage counts (names only)
- Session metrics (duration, tokens)
- Error types (no messages)
- Conversation content
- Code or file contents
- API keys or credentials
- Personal information
CLI Behavior
GOOSE_CLI_MIN_PRIORITY
Control tool output verbosity in CLI. Values: Float from0.0 to 1.0
0.0: Show all tool output0.2: Medium importance and above0.8: High importance only
0.0 (show all)
Configuration via CLI:
GOOSE_WORKING_DIR
Set default working directory for sessions. Example:Security Configuration
GOOSE_DISABLE_KEYRING
Disable system keyring, use file-based secret storage. Values:1, true, or any non-empty string
Example:
- macOS: Uses system Keychain
- Windows: Uses Credential Manager
- Linux: Uses Secret Service (requires D-Bus)
~/.config/goose/secrets.yaml in plain text. Only use when keyring is unavailable.
Extension Configuration
Extension Environment Variables
Extensions can define custom environment variables. Common patterns:Advanced Configuration
GOOSE_TOOLSHIM
Enable experimental tool shimming with local models. Values:1 or true
Example:
GOOSE_TOOLSHIM_OLLAMA_MODEL
Specify Ollama model for tool shimming. Example:GOOSE_TOOLSHIM=true
Max Turns Configuration
Limit autonomous agent turns before requiring user input. Configuration via settings:Claude-Specific Configuration
CLAUDE_THINKING_TYPE
Configure extended thinking mode for Claude models. Values:adaptive: Claude decides when to think (recommended)enabled: Fixed token budget for thinkingdisabled: No extended thinking
CLAUDE_THINKING_EFFORT
Set adaptive thinking effort level. Values:low: Minimal thinkingmedium: Moderate thinkinghigh: Deep reasoning (default)max: No constraints (Opus 4.6 only)
CLAUDE_THINKING_BUDGET
Set fixed token budget for thinking mode. Values: Integer (tokens) Example:Gemini-Specific Configuration
GEMINI_THINKING_LEVEL
Configure thinking level for Gemini 3 models. Values:low: Better latency, lighter reasoninghigh: Deeper reasoning, higher latency
Development and Debugging
RUST_LOG
Control Rust logging verbosity. Values:error: Only errorswarn: Warnings and errorsinfo: General informationdebug: Detailed debuggingtrace: Very verbose
GOOSE_TEST_ERROR
Enable test error mode in desktop app (development only). Example:CI/CD Integration
Example GitHub Actions workflow:Configuration Precedence
Goose loads configuration in this order (highest to lowest priority):- Environment variables (highest priority)
- Configuration file (
~/.config/goose/config.yaml) - Default values (lowest priority)
Secrets Precedence
Secrets follow this precedence:- Environment variables (e.g.,
ANTHROPIC_API_KEY) - System keyring (if enabled)
- Secrets file (
~/.config/goose/secrets.yamlif keyring disabled)
Common Patterns
Project-Specific Configuration
Create.env file in project root:
Multiple Provider Setup
Switch between providers:Secure CI Configuration
Platform-Specific Paths
macOS/Linux
- Config:
~/.config/goose/config.yaml - Secrets:
~/.config/goose/secrets.yaml - Sessions:
~/.config/goose/sessions/ - Logs:
~/.local/share/goose/logs/
Windows
- Config:
%APPDATA%\goose\config.yaml - Secrets:
%APPDATA%\goose\secrets.yaml - Sessions:
%APPDATA%\goose\sessions\ - Logs:
%APPDATA%\goose\logs\