v1.24.0
GooseSummary
This release introduces significant new capabilities, including the default enablement of the Top of Mind (tom) extension for better contextual awareness and support for CUDA builds. Key updates also include streamlining extension management and adding dynamic model switching for Claude Code. Numerous bugs were resolved, fixing issues related to recipe saving, text editor display, and various provider configurations.
New Features
- Replaced subagent and skills with a single, streamlined Unified summon extension.
- Introduced the Top of Mind (tom) platform extension, enabled by default for contextual awareness.
- Enabled MCP support, allowing Claude Code, Codex, and Gemini CLI to use MCP tools.
- Added dynamic model listing and mid-session model switching capabilities for Claude Code.
- Enabled stream-json protocol for persistent sessions in Claude Code.
- Exposed Reasoning content in the API for reasoning models.
- Added configurable thinking level for Gemini 3 models.
- Added image support and improved error resilience for Codex.
- Enabled Google provider support for MessageContent::Image in user messages.
- Allowed editing the model and extensions of a recipe directly from the GUI.
- Enabled loading the provider/model specified inside recipe configuration.
- Added escaping for Jinja variables in recipes to allow their inclusion in prompts.
- Enabled session content search via the API.
- Added inline renaming functionality for chat sessions in the sidebar.
- Introduced a Desktop UI for deleting custom providers.
- Added a custom headers field for custom OpenAI-compatible providers in the Desktop application.
- Enabled display of subagent tool calls in both CLI and UI.
- Added type-to-search filtering in CLI select/multiselect dialogs.
- Exposed the AGENT_SESSION_ID environment variable to extension child processes.
- Exposed the AGENT=goose environment variable for cross-tool compatibility.
- Enabled passing environment variables to shell commands.
- Added a global config switch to disable automatic session naming.
- Ported Context (pctx) for Code Mode.
- Enabled overridable default bat themes using environment variables.
- Added Permission Policy support for sandbox iframes in MCP Apps.
- Integrated AppRenderer from the @mcp-ui/client SDK into MCP Apps.
- Upgraded rmcp to 0.15.0 and advertised MCP Apps UI extension capability.
- Updated Groq declarative data to include Preview Models.
- Added model selection support for ACP's session/new and session/set_model endpoints.
- Added support for the extra field in chat completion tool_calls for Gemini OpenAI compatibility.
- Added manpage generation for goose-cli.
- Added SLSA build provenance attestations to release workflows.
- Enabled building with CUDA as the candle backend.
- Implemented proper proxy support on Windows and macOS.
Bug Fixes
- Fixed an issue where saving and running a recipe was not working.
- Fixed local speech/whisper functionality.
- Fixed keyring fallback to handle it as a success.
- Replaced a panic with proper error handling in get_tokenizer.
- Fixed the broken text editor view.
- Fixed configuration of add provider custom headers.
- Fixed MCP issue where resource content was not being decoded.
- Fixed the Flatpak icon.
- Fixed missing content from Langfuse traces.
- Fixed extension selector syncing issues.
- Improved defensive coding for model switching in Claude Code.
- Fixed duplicated output in Code Mode caused by filtering content by audience.
- Fixed ACP per-session Agent for model isolation and load_session restore.
- Fixed isolation of Claude Code sessions via stream-json session_id.
- Fixed Windows bundle random failure and optimized the canary build.
- Fixed Goose Desktop missing Calendar and Reminders entitlements.
- Fixed stripping of the empty extensions array when using a deeplink.
- Fixed contrast issue for text-muted elements.
Improvements
- Streamlined extension management by replacing subagent and skills with a single Unified summon extension.