← Goose Changelog

v1.25.0

Feb 18, 2026 (12d ago) View on GitHub →

goose v1.25.0 is here

✨ Features

  • macOS sandboxing — Goose Desktop now runs in a macOS sandbox for enhanced security [#7197](https://github.com/block/goose/pull/7197)
  • Unified summon extension — Replaced subagent and skills with a single, unified summon extension [#6964](https://github.com/block/goose/pull/6964)
  • MCP Apps UI integration — Integrated AppRenderer from @mcp-ui/client SDK with fallback request handler support [#7013](https://github.com/block/goose/pull/7013) [#7208](https://github.com/block/goose/pull/7208)
  • Edit recipes from the GUI — Model and extensions of a recipe can now be edited directly in the desktop app [#6804](https://github.com/block/goose/pull/6804)
  • Load provider/model from recipe config — Recipes can now specify their own provider and model [#6884](https://github.com/block/goose/pull/6884)
  • Claude Code streaming support — Streaming output for the Claude Code CLI provider [#6833](https://github.com/block/goose/pull/6833)
  • Claude Code dynamic model switching — Dynamic model listing and mid-session model switching for Claude Code [#7120](https://github.com/block/goose/pull/7120)
  • Gemini CLI stream-json and session reuse — Gemini CLI provider now uses stream-json output and re-uses sessions [#7118](https://github.com/block/goose/pull/7118)
  • MCP support for agentic CLI providers — MCP extensions now work with agentic CLI providers (Claude Code, Codex, Gemini CLI) [#6972](https://github.com/block/goose/pull/6972)
  • Reasoning content in API — Expose reasoning_content in the API for reasoning models [#6322](https://github.com/block/goose/pull/6322)
  • Gemini OpenAI compat extra field — Support for the extra field in chat completion tool calls for Gemini OpenAI compatibility [#6184](https://github.com/block/goose/pull/6184)
  • OTel standard env var support — Respect standard OpenTelemetry environment variables for exporter selection [#7144](https://github.com/block/goose/pull/7144)
  • ACP model selection — Model selection support for session/new and session/set_model endpoints [#7112](https://github.com/block/goose/pull/7112)
  • Override bat themes — Allow overriding default bat syntax highlighting themes using environment variables [#7140](https://github.com/block/goose/pull/7140)
  • AGENT=goose env variable — Set AGENT=goose environment variable for cross-tool compatibility [#7017](https://github.com/block/goose/pull/7017)
  • Manpage generation — Automatic manpage generation for goose-cli [#6980](https://github.com/block/goose/pull/6980)
  • Top Of Mind (tom) extension enabled by default — The tom platform extension is now on by default [#7111](https://github.com/block/goose/pull/7111)
  • Standalone Goose Apps filtering — Apps page now filters to only show standalone Goose Apps [#6811](https://github.com/block/goose/pull/6811)
  • MCP Apps UI extension capability — Upgraded rmcp to 0.15.0 and advertise MCP Apps UI extension capability [#6927](https://github.com/block/goose/pull/6927)
  • Custom headers for OpenAI-compatible providers — Desktop now supports custom headers for custom OpenAI-compatible providers [#6681](https://github.com/block/goose/pull/6681)
  • SLSA build provenance — Release workflows now include SLSA build provenance attestations [#7097](https://github.com/block/goose/pull/7097)

🐛 Bug Fixes

  • Subrecipe relative path resolution with summon [#7295](https://github.com/block/goose/pull/7295)
  • Extension selector not displaying the correct enabled extensions [#7290](https://github.com/block/goose/pull/7290)
  • reasoning_content handling for Kimi/thinking models [#7252](https://github.com/block/goose/pull/7252)
  • Shell-escaping special characters except quotes [#7242](https://github.com/block/goose/pull/7242)
  • Dynamic port for Tetrate auth callback server [#7228](https://github.com/block/goose/pull/7228)
  • Fork session not working correctly [#7219](https://github.com/block/goose/pull/7219)
  • Deprecated skills extension now ignored gracefully [#7139](https://github.com/block/goose/pull/7139)
  • Filetype detection returning PLAIN_TEXT instead of HTML [#6885](https://github.com/block/goose/pull/6885)
  • Concurrent tool execution within the same MCP extension [#7202](https://github.com/block/goose/pull/7202)
  • Missing arguments in MCP tool calls causing GUI crash [#7143](https://github.com/block/goose/pull/7143)
  • Save and run recipe not working [#7186](https://github.com/block/goose/pull/7186)
  • Speech-to-text local functionality [#7181](https://github.com/block/goose/pull/7181)
  • MCP resource content decoding [#7155](https://github.com/block/goose/pull/7155)
  • Provider custom headers configuration [#7157](https://github.com/block/goose/pull/7157)
  • Keyring fallback now handled as success [#7177](https://github.com/block/goose/pull/7177)
  • Panic replaced with proper error handling in get_tokenizer [#7175](https://github.com/block/goose/pull/7175)
  • Text editor view broken [#7167](https://github.com/block/goose/pull/7167)
  • Assistant messages with tool_calls now always include content field [#7076](https://github.com/block/goose/pull/7076)
  • GCP Vertex AI model mapping handled correctly [#6836](https://github.com/block/goose/pull/6836)
  • Missing content from Langfuse traces [#7135](https://github.com/block/goose/pull/7135)
  • Extension selector syncing issues [#7133](https://github.com/block/goose/pull/7133)
  • Per-session Agent for model isolation and load_session restore (ACP) [#7115](https://github.com/block/goose/pull/7115)
  • Claude Code defensive coding improvements for model switching [#7131](https://github.com/block/goose/pull/7131)
  • Isolated claude-code sessions via stream-json session_id [#7108](https://github.com/block/goose/pull/7108)
  • Duplicated output in Code Mode by filtering content by audience [#7117](https://github.com/block/goose/pull/7117)
  • Strip empty extensions array in deeplinks [#7096](https://github.com/block/goose/pull/7096)
  • Goose Desktop missing Calendar and Reminders entitlements [#7100](https://github.com/block/goose/pull/7100)
  • Flatpak icon [#7154](https://github.com/block/goose/pull/7154)
  • Ask-ai bot hitting tool call limits [#7162](https://github.com/block/goose/pull/7162)
  • OTel monotonic_counter prefix and temporality env var support [#7234](https://github.com/block/goose/pull/7234)
  • Node installed in goose dir [#7267](https://github.com/block/goose/pull/7267)
  • Windows bundle random failure and optimised canary build [#7105](https://github.com/block/goose/pull/7105)

🔧 Improvements

  • Streaming markdown rendering [#7233](https://github.com/block/goose/pull/7233)
  • Improved compaction messages for better post-compaction agent behavior [#7259](https://github.com/block/goose/pull/7259)
  • Smaller system prompt for reduced token usage [#6991](https://github.com/block/goose/pull/6991)
  • Static Regex compilation for performance [#7205](https://github.com/block/goose/pull/7205)
  • Show directory in window title [#7138](https://github.com/block/goose/pull/7138)
  • Improved error message logging from Electron [#7130](https://github.com/block/goose/pull/7130)
  • Updated ElevenLabs API module and remove button UX [#6781](https://github.com/block/goose/pull/6781)
  • Inline worklet source for audio processing [#7128](https://github.com/block/goose/pull/7128)
  • PATH detection restored in developer extension [#7161](https://github.com/block/goose/pull/7161)
  • Platform extensions moved into their own folder [#7210](https://github.com/block/goose/pull/7210)
  • Grouped dependencies in root Cargo.toml [#6948](https://github.com/block/goose/pull/6948)
  • Switched jsonwebtoken to use aws-lc-rs [#7189](https://github.com/block/goose/pull/7189)
  • Session working directory now used correctly [#7285](https://github.com/block/goose/pull/7285)
  • Diagnostic files copying support [#7209](https://github.com/block/goose/pull/7209)
  • No-window flags expanded for background processes [#7122](https://github.com/block/goose/pull/7122)
  • Upgraded npm packages for latest security updates [#7183](https://github.com/block/goose/pull/7183)

📖 Documentation

  • White label guide [#6857](https://github.com/block/goose/pull/6857)
  • Standalone MCP apps and apps extension [#6791](https://github.com/block/goose/pull/6791)
  • Reasoning effort levels for Codex provider [#6798](https://github.com/block/goose/pull/6798)
  • Codex subscription support [#7104](https://github.com/block/goose/pull/7104)
  • Keyring fallback to secrets.yaml [#7165](https://github.com/block/goose/pull/7165)
  • GCP Vertex AI org policy filtering [#7125](https://github.com/block/goose/pull/7125)
  • Tool output optimization guide [#7109](https://github.com/block/goose/pull/7109)
  • Pin version in CI/CD docs [#7168](https://github.com/block/goose/pull/7168)
  • Removed LLM Usage admonitions [#7227](https://github.com/block/goose/pull/7227)
  • Skills Marketplace UI improvements [#7158](https://github.com/block/goose/pull/7158)
  • "One shot prompting is dead" blog post [#7113](https://github.com/block/goose/pull/7113)
  • Speech-to-text testing instructions [#7185](https://github.com/block/goose/pull/7185)