Skip to main content
This guide covers common issues you might encounter while using goose and provides step-by-step solutions.
Need help? Our Discord community is here to help! Consider generating a diagnostic report to help us understand your setup quickly.

Installation and Configuration

API Key Configuration Errors

Users may encounter errors when their LLM API tokens are incorrect, expired, or have insufficient credits:
Solution:
  1. Check Your API Credits: Log into your LLM provider’s dashboard and verify you have sufficient credits
  2. Verify API Key: Reconfigure your API key:
  3. Test Connection: Start a new session to verify the configuration works
For detailed provider setup, see the Installation Guide.

Keychain/Keyring Errors

goose uses the system keyring (keychain on macOS) to store secrets securely. In environments where the keyring cannot be accessed, you may see:
Solution Options:

GitHub Copilot Provider Issues

OAuth Error with Lead/Worker Models: If you have lead/worker models configured, you might see:
Solution:
  1. Temporarily comment out lead/worker variables in ~/.config/goose/config.yaml:
  2. Run goose configure and complete GitHub Copilot OAuth
  3. Re-enable lead/worker settings if needed
Container/Keyring Issues: In Docker or headless environments:
Solution:

Provider and Model Issues

Using Ollama Provider

Ollama provides local LLMs. You must download models before use: Common Error:
Solutions:
  1. Ensure Ollama is running:
  2. Download a compatible model:
  3. DeepSeek limitations: DeepSeek models don’t support tool calling. All extensions must be disabled to use DeepSeek, which severely limits goose’s capabilities.
For more details, see Local LLMs.

Ollama on WSL (Windows)

If using Ollama with Windows Subsystem for Linux:
Solution:
  1. Find WSL’s gateway IP:
  2. Use the IP instead of localhost:
  3. Or enable WSL Mirrored Networking (Windows 11 22H2+): See WSL Networking Documentation

Rate Limit Errors (429)

goose may encounter rate limits when using LLM providers. Solution: Use a provider with built-in rate limiting or implement retry logic. See Handling LLM Rate Limits for detailed solutions.

Context Length Exceeded

This error occurs when input exceeds the model’s token limit. Solutions:
  1. Break down large tasks into smaller sessions
  2. Use .goosehints to provide concise context instead of large files
  3. Queue messages in goose Desktop to send them sequentially
  4. Switch to a model with larger context (e.g., Claude 3.5 Sonnet supports 200K tokens)
See Using Goosehints for more information.

Extension Issues

Extension Activation Failures

Extensions may fail to activate if package runners are not available:
Solutions:
  1. Install Node.js for npx-based extensions:
    • Download from nodejs.org
    • Verify installation: node -v && npx -v
  2. Install Python/uv for uvx-based extensions:
    • Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
    • Verify installation: uvx --version

Node.js Extensions on Windows

Error:
Solution: goose expects Node.js at C:\Program Files\nodejs\. If installed elsewhere:
  1. Find your Node.js path:
  2. Create a symbolic link (as Administrator):
  3. Restart goose and try activating the extension again

Malicious Package Detected

goose blocks extensions that use malicious packages:
Solutions:
  1. Find an alternative extension from trusted sources
  2. Verify the package is legitimate before reporting
  3. Report false positives by opening an issue
This security check uses the OSV database and only applies to locally-executed extensions using PyPI or NPM.

Hermit Errors

goose uses Hermit to ensure package runners are available:
Solution on macOS:
Then restart goose and try again.

Network and Corporate Environment Issues

Corporate Proxy or Firewall

If behind a corporate proxy:
Solution:
  1. Configure proxy environment variables:
  2. Or use system proxy settings:
    • macOS: System Settings → Network → Details → Proxies
    • Windows: Settings → Network & Internet → Proxy
  3. Restart goose after configuration
  4. For authenticated proxies:
See Network Configuration for more details.

Airgapped/Offline Environments

In restricted networks, extensions may fail to download dependencies:
Workaround:
  1. Create alternatively-named package runners:
  2. Update extension configurations:
  3. Why this works: goose only replaces known names (npx, uvx) with its shims. Custom names bypass this behavior.
In highly restricted environments, you may need to build a custom goose distribution with pre-configured shims. See Custom Distributions.

Runtime Issues

goose Stuck in a Loop

In rare cases, goose may enter a “doom spiral” during long sessions. Solution:
  1. Interrupt the current task: Hold Ctrl+C (CLI) or use the stop button (Desktop)
  2. End the session and start fresh:
  3. Break large tasks into smaller, more focused sessions

Long-Running Commands (CLI)

Development servers may cause goose to hang:
Solution: Customize shell behavior using GOOSE_TERMINAL. See Customizing Shell Behavior for details.

Permission Issues

macOS Permission Issues

If goose Desktop shows no window or tools fail to create files: Check permissions:
You should see drwx------ or similar with read/write for your user. Grant permissions:
System Settings (macOS):
  1. Go to System SettingsPrivacy & SecurityFiles & Folders
  2. Grant goose access to necessary directories
Running goose with sudo may create root-owned files, causing further permission issues. Use this only for troubleshooting.

Data Management

Uninstall goose or Clear Data

goose stores data in platform-specific locations:
Data Locations:
  • Logs/Config: ~/.config/goose
  • Application Data: ~/Library/Application Support/Goose
  • Secrets: macOS Keychain (credential named “goose”)
Removal Steps:
  1. Stop all goose processes (check Activity Monitor)
  2. Open Keychain Access and delete the “goose” credential
  3. Remove data directories:
  4. Delete the goose app from Applications folder

Session Management

goose Edits Files Unexpectedly

goose can and will edit files as part of its workflow. Best Practices:
  1. Use version control: Stage your personal edits before running goose
  2. Review changes: Leave goose edits unstaged until reviewed
  3. Separate commits: Create separate commits for goose’s edits so you can easily revert
  4. Use interrupts: Interrupt goose if it’s heading in the wrong direction

New Recipe Warning

The first time you run a recipe in goose Desktop, you’ll see a warning dialog. This is a security feature to prevent executing potentially harmful code. To proceed:
  1. Review the recipe’s title, description, and instructions
  2. Click Trust and Execute if you trust the source
  3. You won’t be prompted again for the same recipe unless it changes

Still Need Help?

If you’re still experiencing issues:
  1. Generate diagnostics: Create a diagnostic report with system info and logs
  2. Check the FAQ: Review Frequently Asked Questions
  3. Search Discord: Check our Discord community for similar issues
  4. File a bug report: Open an issue on GitHub with your diagnostic data
When asking for help, include:
  • Your OS and goose version
  • Provider and model being used
  • Steps to reproduce the issue
  • Relevant error messages or logs
  • A diagnostic report (if possible)