v1.25.0

aaif-goose/goosev1.25.0Feb 18, 2026by github-actions[bot]

AI Summary

Significant release introducing macOS sandboxing for enhanced security, unified summon extension replacing subagent and skills, and MCP Apps UI integration. Also adds recipe editing from GUI, Claude Code streaming support, and reasoning content in API.

Key Highlights

  • macOS sandboxing for enhanced security in Goose Desktop
  • Unified summon extension replacing subagent and skills
  • MCP Apps UI integration with AppRenderer
  • Edit recipes from GUI - model and extensions
  • Claude Code streaming and dynamic model switching

New Features

  • macOS sandboxing
  • Unified summon extension
  • MCP Apps UI integration
  • Edit recipes from the GUI
  • Load provider/model from recipe config
  • Claude Code streaming support
  • Claude Code dynamic model switching
  • Gemini CLI stream-json and session reuse
  • MCP support for agentic CLI providers
  • Reasoning content in API
  • OTel standard env var support
  • ACP model selection
  • AGENT=goose environment variable
  • Manpage generation
  • Top Of Mind extension enabled by default
  • Standalone Goose Apps filtering
  • Custom headers for OpenAI-compatible providers
  • SLSA build provenance

Full Release Notes

# 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)](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)](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)](https://github.com/block/goose/pull/7013) [[#7208](https://github.com/block/goose/pull/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)](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)](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)](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)](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)](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)](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)](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)](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)](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)](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)](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)](https://github.com/block/goose/pull/7017)
- **Manpage generation** — Automatic manpage generation for goose-cli [[#6980](https://github.com/block/goose/pull/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)](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)](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)](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)](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)](https://github.com/block/goose/pull/7097)

## 🐛 Bug Fixes

- Subrecipe relative path resolution with summon [[#7295](https://github.com/block/goose/pull/7295)](https://github.com/block/goose/pull/7295)
- Extension selector not displaying the correct enabled extensions [[#7290](https://github.com/block/goose/pull/7290)](https://github.com/block/goose/pull/7290)
- `reasoning_content` handling for Kimi/thinking models [[#7252](https://github.com/block/goose/pull/7252)](https://github.com/block/goose/pull/7252)
- Shell-escaping special characters except quotes [[#7242](https://github.com/block/goose/pull/7242)](https://github.com/block/goose/pull/7242)
- Dynamic port for Tetrate auth callback server [[#7228](https://github.com/block/goose/pull/7228)](https://github.com/block/goose/pull/7228)
- Fork session not working correctly [[#7219](https://github.com/block/goose/pull/7219)](https://github.com/block/goose/pull/7219)
- Deprecated skills extension now ignored gracefully [[#7139](https://github.com/block/goose/pull/7139)](https://github.com/block/goose/pull/7139)
- Filetype detection returning PLAIN_TEXT instead of HTML [[#6885](https://github.com/block/goose/pull/6885)](https://github.com/block/goose/pull/6885)
- Concurrent tool execution within the same MCP extension [[#7202](https://github.com/block/goose/pull/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)](https://github.com/block/goose/pull/7143)
- Save and run recipe not working [[#7186](https://github.com/block/goose/pull/7186)](https://github.com/block/goose/pull/7186)
- Speech-to-text local functionality [[#7181](https://github.com/block/goose/pull/7181)](https://github.com/block/goose/pull/7181)
- MCP resource content decoding [[#7155](https://github.com/block/goose/pull/7155)](https://github.com/block/goose/pull/7155)
- Provider custom headers configuration [[#7157](https://github.com/block/goose/pull/7157)](https://github.com/block/goose/pull/7157)
- Keyring fallback now handled as success [[#7177](https://github.com/block/goose/pull/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)](https://github.com/block/goose/pull/7175)
- Text editor view broken [[#7167](https://github.com/block/goose/pull/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)](https://github.com/block/goose/pull/7076)
- GCP Vertex AI model mapping handled correctly [[#6836](https://github.com/block/goose/pull/6836)](https://github.com/block/goose/pull/6836)
- Missing content from Langfuse traces [[#7135](https://github.com/block/goose/pull/7135)](https://github.com/block/goose/pull/7135)
- Extension selector syncing issues [[#7133](https://github.com/block/goose/pull/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)](https://github.com/block/goose/pull/7115)
- Claude Code defensive coding improvements for model switching [[#7131](https://github.com/block/goose/pull/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)](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)](https://github.com/block/goose/pull/7117)
- Strip empty extensions array in deeplinks [[#7096](https://github.com/block/goose/pull/7096)](https://github.com/block/goose/pull/7096)
- Goose Desktop missing Calendar and Reminders entitlements [[#7100](https://github.com/block/goose/pull/7100)](https://github.com/block/goose/pull/7100)
- Flatpak icon [[#7154](https://github.com/block/goose/pull/7154)](https://github.com/block/goose/pull/7154)
- Ask-ai bot hitting tool call limits [[#7162](https://github.com/block/goose/pull/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)](https://github.com/block/goose/pull/7234)
- Node installed in goose dir [[#7267](https://github.com/block/goose/pull/7267)](https://github.com/block/goose/pull/7267)
- Windows bundle random failure and optimised canary build [[#7105](https://github.com/block/goose/pull/7105)](https://github.com/block/goose/pull/7105)

## 🔧 Improvements

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

## 📖 Documentation

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