Getting Started
What is goose?
What is goose?
How do I install goose?
How do I install goose?
- Download from the goose website
- Available for macOS, Linux, and Windows
- Includes built-in UI and automatic updates
Which LLM providers does goose support?
Which LLM providers does goose support?
- OpenAI (GPT-4, GPT-3.5)
- Anthropic (Claude 3.5 Sonnet, Opus, Haiku)
- Google Gemini
- GitHub Copilot
- Databricks
- Azure OpenAI
- Amazon Bedrock
- Ollama (runs models locally)
- Any OpenAI-compatible API endpoint
Do I need an API key?
Do I need an API key?
- OpenAI: platform.openai.com/api-keys
- Anthropic: console.anthropic.com
- Google Gemini: aistudio.google.com/app/apikey
- GitHub Copilot: Requires GitHub subscription with Copilot access
How much does it cost to use goose?
How much does it cost to use goose?
- Claude 3.5 Sonnet: ~15 per million output tokens
- GPT-4: ~30 per million output tokens
- GPT-3.5: ~1.50 per million output tokens
- Gemini: Competitive pricing with free tier available
- Ollama (local): Free, but requires local compute resources
- Use lead/worker model configuration (expensive model for planning, cheaper for execution)
- Start sessions with clear, specific goals
- Use
.goosehintsto reduce context size - Monitor usage in your provider’s dashboard
Using goose
What can goose do?
What can goose do?
- Build entire projects from scratch
- Write, refactor, and optimize code
- Generate tests and documentation
- Debug issues and fix bugs
- Set up CI/CD pipelines
- Configure development environments
- Manage Docker containers
- Deploy applications
- Search documentation and codebases
- Analyze code quality and security
- Generate reports and summaries
- Interact with GitHub, GitLab, Jira
- Query databases
- Call external APIs
- Use MCP servers for extended capabilities
How do I start a session with goose?
How do I start a session with goose?
- Launch goose Desktop
- Click New Session or press
Cmd+N(macOS) /Ctrl+N(Windows/Linux) - Type your request in the chat input
- Press Enter or click Send
What are extensions and how do I use them?
What are extensions and how do I use them?
- Developer: File operations, shell commands, code execution
- GitHub: Repository management, PR creation, issue tracking
- Screen Control: UI automation and testing
- Desktop: Settings → Extensions → Enable/Disable
- CLI: Edit
~/.config/goose/config.yaml
What are recipes?
What are recipes?
- Standardize team workflows
- Automate repetitive tasks
- Share best practices
- Schedule recurring tasks
How do I stop or interrupt goose?
How do I stop or interrupt goose?
- Press
Ctrl+Cto interrupt the current task - Type
exitorquitto end the session
- Click the Stop button in the chat interface
- Press
Escto cancel ongoing operations - Close the session tab to end it
- goose is heading in the wrong direction
- You need to provide additional context
- A task is taking too long
- You notice an error or unexpected behavior
Can goose edit my files? How do I prevent unwanted changes?
Can goose edit my files? How do I prevent unwanted changes?
-
Use version control (Git):
-
Review before committing:
- Leave goose’s edits unstaged
- Review changes with
git diff - Create separate commits for goose’s work
-
Use interrupts:
- Stop goose if it’s making unwanted changes
- Provide clearer instructions
- Revert changes and try again
-
Limit scope:
- Be specific about which files to modify
- Use
.goosehintsto guide behavior - Start with small, focused tasks
Configuration and Customization
Where does goose store its configuration?
Where does goose store its configuration?
- macOS/Linux:
~/.config/goose/ - Windows:
%APPDATA%\Block\goose\config\
- macOS:
~/Library/Application Support/goose/ - Linux:
~/.local/share/goose/ - Windows:
%LOCALAPPDATA%\Block\goose\
- macOS/Linux:
~/.local/state/goose/logs/ - Windows:
%LOCALAPPDATA%\Block\goose\logs\
- macOS: Keychain (credential named “goose”)
- Linux: System keyring (if available)
- Windows: Credential Manager
How do I use environment variables with goose?
How do I use environment variables with goose?
Can I use multiple LLM providers or models?
Can I use multiple LLM providers or models?
- Lower costs (use expensive models only when needed)
- Faster execution (worker model handles routine tasks)
- Better quality (lead model handles complex reasoning)
What is .goosehints and how do I use it?
What is .goosehints and how do I use it?
.goosehints is a file that provides project-specific context and guidelines to goose.Example .goosehints:- Reduces token usage (concise context vs. full files)
- Guides goose’s behavior
- Enforces coding standards
- Prevents mistakes
.goosehints in your project root.Learn more: Using GoosehintsHow do I create custom extensions?
How do I create custom extensions?
Troubleshooting
goose is slow or unresponsive. What should I do?
goose is slow or unresponsive. What should I do?
-
Large context size:
- Break tasks into smaller sessions
- Use
.goosehintsinstead of including full files - Clear old messages from long sessions
-
Slow LLM provider:
- Switch to a faster model (e.g., GPT-3.5, Claude Haiku)
- Check provider status page
- Verify network connectivity
-
Extension issues:
- Disable unused extensions
- Check extension logs for errors
- Update to latest extension versions
-
System resources:
- Close other resource-intensive applications
- Check disk space (logs can accumulate)
- Monitor CPU/memory usage
How do I view logs or debug issues?
How do I view logs or debug issues?
- System information
- Session data
- Recent logs (last 10 files)
- Configuration files
Why won't my extensions activate?
Why won't my extensions activate?
- Node.js: Download from nodejs.org
- uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
What should I do if goose gets stuck in a loop?
What should I do if goose gets stuck in a loop?
- Interrupt: Press
Ctrl+C(CLI) or click Stop (Desktop) - Provide context: Add clarifying information about what went wrong
- Restart if needed: End the session and start fresh
- Break large tasks into smaller, focused sessions
- Provide clear, specific instructions
- Use
.goosehintsto guide behavior - Monitor progress and interrupt early if goose goes off-track
Where can I get help?
Where can I get help?
- Discord: Join our Discord community for real-time help
- GitHub Discussions: Ask questions in GitHub Discussions
- Twitter/X: Follow @goose_oss for updates
- Known Issues - Common problems and solutions
- Diagnostics - Debug tools and logging
- Guides - Detailed how-to guides
- File a bug report
- Include a diagnostic report for faster resolution
- Check existing issues first to avoid duplicates
- Submit a feature request
- Vote on existing feature requests
- Contribute via pull requests!
Advanced Topics
Can I use goose in CI/CD pipelines?
Can I use goose in CI/CD pipelines?
- Automated code reviews
- Test generation
- Documentation updates
- Security scanning
- Release note generation
How do I schedule recurring tasks?
How do I schedule recurring tasks?
0 9 * * *- Daily at 9 AM0 */4 * * *- Every 4 hours0 0 * * 0- Weekly on Sunday midnight0 0 1 * *- Monthly on the 1st
Can I deploy goose as a server?
Can I deploy goose as a server?
- Team collaboration
- Centralized configuration
- Resource sharing
- Audit logging
- Access control
How do I build a custom goose distribution?
How do I build a custom goose distribution?
- Update
ui/desktop/package.jsonfor branding - Pre-configure
config.yamldefaults - Bundle custom extensions
- Add organization-specific
.goosehints
- Enterprise deployments
- Team-specific configurations
- Airgapped environments
- Custom branding
Still Have Questions?
If your question isn’t answered here:- Search the documentation - Use the search bar at the top
- Check the guides - Browse User Guides for detailed topics
- Join Discord - Ask the community at discord.gg/goose-oss
- Review issues - Search GitHub Issues for similar questions
- Start a discussion - Create a topic in GitHub Discussions