1. Only treat top-level return as a pure content ref when the object has exactly the shape we created (_goose_content_ref + text_result). If the model spreads extra fields into the ref, include the text output too. 2. Always recurse into all object values in collect_rich_content, even after finding a ref. This ensures nested refs in sibling fields are not silently dropped. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
goose is your on-machine AI agent, capable of automating complex development tasks from start to finish. More than just code suggestions, goose can build entire projects from scratch, write and execute code, debug failures, orchestrate workflows, and interact with external APIs - autonomously.
Whether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.
Designed for maximum flexibility, goose works with any LLM and supports multi-model configuration to optimize performance and cost, seamlessly integrates with MCP servers, and is available as both a desktop app as well as CLI - making it the ultimate AI assistant for developers who want to move faster and focus on innovation.
Quick Links
- Quickstart
- Installation
- Tutorials
- Documentation
- Governance
- Custom Distributions - build your own goose distro with preconfigured providers, extensions, and branding
Need Help?
a little goose humor 🪿
Why did the developer choose goose as their AI agent?
Because it always helps them "migrate" their code to production! 🚀