v1.30.0
aaif-goose/goosev1.30.0Apr 8, 2026by github-actions[bot]
AI Summary
Major release featuring comprehensive TUI overhaul with tab-expandable tool calls and improved message rendering. Introduces Gemini OAuth provider, Copilot ACP provider, and new security features like egress logging inspector.
Key Highlights
- TUI overhaul with tab-expandable tool calls
- Gemini OAuth provider for Google authentication
- Copilot ACP provider for GitHub Copilot
- goose serve subcommand for background service
- Egress logging inspector for security
- goose doctor command for diagnostics
- Skills platform extension
- i18n infrastructure for internationalization
New Features
- Tab-expandable tool calls
- Improved message rendering
- Independent --text mode for headless experience
- goose serve subcommand
- Gemini OAuth provider
- Copilot ACP provider
- Zhipu declarative provider
- Configurable fast_model for declarative providers
- Gemma 4 local model support
- Egress logging inspector
- Restricted secrets file permissions
- Show installed skills in UI
- Skills platform extension
- Recursively discover nested skills
- Configurable extension timeouts
- Reusable ACP provider controls
- Rust ACP client for extension methods
- Developer MCP server enhancements
- i18n infrastructure
- goose doctor command
- GOOSE_SHOW_FULL_OUTPUT config option
- GOOSE_CLI_SHOW_THINKING in config.yaml
- GOOSE_CONTEXT_LIMIT readable from config.yaml
- GOOSE_DISABLE_KEYRING from config.yaml
- Per-delegate max_turns override
- skip_canonical_filtering for declarative providers
- Optional native-tls support
- Feature-gated AWS provider dependencies
- Feature-gated telemetry
- Inference Mesh settings tab
Full Release Notes
--- # ๐ชฟ Goose v1.30.0 Release Notes **Released:** April 8, 2026 --- ## โจ New Features ### ๐ฅ๏ธ Terminal UI (TUI) Overhaul - **Tab-expandable tool calls** โ tool call output now collapses cleanly with tab to expand ([#8136](https://github.com/aaif-goose/goose/pull/8136)) - **Improved message rendering** โ better ordering, streaming/scrolling, and overall visual polish for messages, tool calls, and text entry ([#8144](https://github.com/aaif-goose/goose/pull/8144), [#8156](https://github.com/aaif-goose/goose/pull/8156), [#8214](https://github.com/aaif-goose/goose/pull/8214)) - **Independent `--text` mode** โ text mode is now decoupled from the normal TUI for a cleaner headless experience ([#8210](https://github.com/aaif-goose/goose/pull/8210)) - **`goose serve`** โ new subcommand to run Goose as a background service ([#8209](https://github.com/aaif-goose/goose/pull/8209)) ### ๐ Providers & Models - **Gemini OAuth provider** โ first-class OAuth-based authentication for Google Gemini ([#8129](https://github.com/aaif-goose/goose/pull/8129)) - **Copilot ACP provider** โ new provider for GitHub Copilot via ACP ([#8154](https://github.com/aaif-goose/goose/pull/8154)) - **Zhipu declarative provider** โ adds Zhipu AI with configurable `ZHIPU_BASE_URL` override ([#8204](https://github.com/aaif-goose/goose/pull/8204)) - **Configurable `fast_model` for declarative providers** โ lets you specify a lightweight model for quick tasks ([#8194](https://github.com/aaif-goose/goose/pull/8194)) - **Gemma 4 local model support** โ enable Gemma 4 as a local model option ([#8366](https://github.com/aaif-goose/goose/pull/8366)) - **VMware Tanzu Platform provider improvements** โ bug fixes, streaming support, and UI enhancements ([#8126](https://github.com/aaif-goose/goose/pull/8126)) ### ๐ก๏ธ Security & Observability - **Egress logging inspector** โ new security feature to log and inspect outbound network calls ([#8149](https://github.com/aaif-goose/goose/pull/8149)) - **Restricted secrets file permissions** โ secrets files are now created with tighter OS-level permissions ([#8118](https://github.com/aaif-goose/goose/pull/8118)) ### ๐งฉ Extensions & Skills - **Show installed skills in UI** โ skills are now visible and browsable from the desktop app ([#7910](https://github.com/aaif-goose/goose/pull/7910)) - **Skills platform extension** โ skills are now managed as a dedicated platform extension ([#8377](https://github.com/aaif-goose/goose/pull/8377)) - **Recursively discover nested skills** โ skills under configured roots are now found at any depth ([#8082](https://github.com/aaif-goose/goose/pull/8082)) - **Configurable extension timeouts** โ set timeouts per-extension via ACP `_meta` or a global default ([#8295](https://github.com/aaif-goose/goose/pull/8295)) - **Reusable ACP provider controls** โ shared UI components for ACP provider configuration ([#8314](https://github.com/aaif-goose/goose/pull/8314)) - **Rust ACP client for extension methods** ([#8227](https://github.com/aaif-goose/goose/pull/8227)) - **Developer MCP server enhancements** ([#7770](https://github.com/aaif-goose/goose/pull/7770)) ### ๐ Internationalization - **i18n infrastructure** โ added `react-intl` based internationalization framework to the desktop app ([#8105](https://github.com/aaif-goose/goose/pull/8105)) ### ๐ฉบ Diagnostics - **`goose doctor`** โ new command to diagnose common configuration and environment issues ([#8342](https://github.com/aaif-goose/goose/pull/8342)) ### โ๏ธ Configuration - **`GOOSE_SHOW_FULL_OUTPUT`** โ new config option to disable tool output truncation ([#7919](https://github.com/aaif-goose/goose/pull/7919)) - **`GOOSE_CLI_SHOW_THINKING`** โ can now be set in `config.yaml` (not just env vars) ([#8097](https://github.com/aaif-goose/goose/pull/8097)) - **`GOOSE_CONTEXT_LIMIT`** โ now readable from `config.yaml` ([#7900](https://github.com/aaif-goose/goose/pull/7900)) - **`GOOSE_DISABLE_KEYRING`** โ now honoured from `config.yaml` at startup ([#8219](https://github.com/aaif-goose/goose/pull/8219)) - **Per-delegate `max_turns` override** ([#8066](https://github.com/aaif-goose/goose/pull/8066)) - **`skip_canonical_filtering` for declarative providers** ([#8052](https://github.com/aaif-goose/goose/pull/8052)) ### ๐๏ธ Build & Packaging - **Optional `native-tls` support** โ alternative to rustls for environments that need system TLS ([#8037](https://github.com/aaif-goose/goose/pull/8037)) - **Feature-gated AWS provider dependencies** โ behind `aws-providers` feature flag for leaner builds ([#8080](https://github.com/aaif-goose/goose/pull/8080)) - **Feature-gated telemetry** โ telemetry is now behind Cargo feature flags ([#8119](https://github.com/aaif-goose/goose/pull/8119)) - **Inference Mesh settings tab** ([#8094](https://github.com/aaif-goose/goose/pull/8094)) --- ## ๐ Bug Fixes ### Providers - Fix user message text silently dropped when message contains both text and image ([#8071](https://github.com/aaif-goose/goose/pull/8071)) - Send empty object instead of `null` for Bedrock tool input ([#8121](https://github.com/aaif-goose/goose/pull/8121)) - Fall back to configured models when the models endpoint fetch fails ([#7530](https://github.com/aaif-goose/goose/pull/7530)) - Prevent Ollama provider from hanging on tool-calling requests ([#7723](https://github.com/aaif-goose/goose/pull/7723)) - Increase Ollama retry config + add transient-only retry mode ([#7677](https://github.com/aaif-goose/goose/pull/7677)) - Use `safely_parse_json` for OpenAI streaming tool arguments ([#8208](https://github.com/aaif-goose/goose/pull/8208)) - Use `v1beta1` API version for Google/MaaS models on GCP Vertex AI ([#8278](https://github.com/aaif-goose/goose/pull/8278)) - Use `build_host_url` for GCP Vertex AI location fallback ([#8185](https://github.com/aaif-goose/goose/pull/8185)) - Parse nested usage payloads in LiteLLM ([#8081](https://github.com/aaif-goose/goose/pull/8081)) - Prioritize predefined model `context_limit` over canonical registry ([#7888](https://github.com/aaif-goose/goose/pull/7888)) - Always pass `--model` to cursor-agent CLI ([#8106](https://github.com/aaif-goose/goose/pull/8106)) - Fix models not shown in "Choose Model" modal after OAuth configuration completes ([#7891](https://github.com/aaif-goose/goose/pull/7891)) - Allow connecting to OAuth servers using protected-resource fallback instead of `WWW-Authenticate` header ([#8148](https://github.com/aaif-goose/goose/pull/8148)) ### Desktop App - Fix "View as Markdown" feature not working ([#8160](https://github.com/aaif-goose/goose/pull/8160)) - Fix desktop slash commands ([#8341](https://github.com/aaif-goose/goose/pull/8341)) - Fix GitHub Copilot auth fails to open browser in Desktop app ([#8019](https://github.com/aaif-goose/goose/pull/8019)) - Hide hidden extensions in UI ([#8346](https://github.com/aaif-goose/goose/pull/8346)) - Return raw text when chat parse error occurs ([#8402](https://github.com/aaif-goose/goose/pull/8402)) - Fix Gemini ACP without an unexpected terminal window ([#8101](https://github.com/aaif-goose/goose/pull/8101)) - Replace `any` with proper SVG types in icon components ([#7873](https://github.com/aaif-goose/goose/pull/7873)) - Fix extension command with quotes in CLI ([#8150](https://github.com/aaif-goose/goose/pull/8150)) - Fix `overflow: clip` to not disrupt sticky ToC ([#8158](https://github.com/aaif-goose/goose/pull/8158)) - Fix i18n compile on Windows ([#8202](https://github.com/aaif-goose/goose/pull/8202)) - Fix MultilineInput component ([#8382](https://github.com/aaif-goose/goose/pull/8382)) ### CLI & Core - Fix Goose update failing on Linux with `ETXTBSY` ([#8107](https://github.com/aaif-goose/goose/pull/8107)) - Resolve user login `PATH` for MCP extension subprocesses ([#7896](https://github.com/aaif-goose/goose/pull/7896)) - Replace panics with user-friendly errors in CLI session builder ([#7901](https://github.com/aaif-goose/goose/pull/7901)) - Strip message wrapper in CLI session title generation ([#7996](https://github.com/aaif-goose/goose/pull/7996)) - Display platform-correct secrets path in keyring config dialog ([#8328](https://github.com/aaif-goose/goose/pull/8328)) - Deliver truncation notice as separate content block ([#7899](https://github.com/aaif-goose/goose/pull/7899)) - Use platform-appropriate commands in developer extension instructions ([#7898](https://github.com/aaif-goose/goose/pull/7898)) - Reconsolidate split tool-call messages to follow OpenAI format ([#7921](https://github.com/aaif-goose/goose/pull/7921)) - Clean up MCP subprocesses after abrupt parent exit ([#8242](https://github.com/aaif-goose/goose/pull/8242)) - Fix Flatpak sandbox preventing access to host system commands ([#8109](https://github.com/aaif-goose/goose/pull/8109)) - Gate keyring platform features behind target-specific deps ([#8039](https://github.com/aaif-goose/goose/pull/8039)) - Raise default stack reserve to 8 MB ([#8234](https://github.com/aaif-goose/goose/pull/8234)) ### ACP - Separate ACP sessions from user sessions ([#7857](https://github.com/aaif-goose/goose/pull/7857)) - Avoid duplicate thought chunks around tool calls ([#8215](https://github.com/aaif-goose/goose/pull/8215)) --- ## โก Performance - **Parallelize extension loading** in ACP server for faster startup ([#8098](https://github.com/aaif-goose/goose/pull/8098)) - **Mesh binary management** โ download fresh binary on every start; kill mesh when Goose exits ([#8228](https://github.com/aaif-goose/goose/pull/8228)) --- ## ๐ Documentation - Unified thinking documentation ([#7817](https://github.com/aaif-goose/goose/pull/7817)) - `available_tools` field in extension config docs ([#7725](https://github.com/aaif-goose/goose/pull/7725)) - Memory extension reference moved to docs, trimmed runtime prompt ([#7727](https://github.com/aaif-goose/goose/pull/7727)) - Standardize on `~/.agents/skills/` as canonical skill path ([#8239](https://github.com/aaif-goose/goose/pull/8239)) - Nested goosehints guide ([#8254](https://github.com/aaif-goose/goose/pull/8254)) - MCP Roots guide ([#8252](https://github.com/aaif-goose/goose/pull/8252)) - Streamable HTTP config for JetBrains 2026.1+ ([#8258](https://github.com/aaif-goose/goose/pull/8258)) - Autovisualiser for MCP Apps ([#8253](https://github.com/aaif-goose/goose/pull/8253)) - `GOOSE_SHELL` env var documentation ([#8233](https://github.com/aaif-goose/goose/pull/8233)) - Updated reusable recipes docs ([#8232](https://github.com/aaif-goose/goose/pull/8232)) - Social sharing setup for blog posts ([#8102](https://github.com/aaif-goose/goose/pull/8102)) - Blog: *Adversary Mode โ A Second Pair of Eyes on Every Tool Call* ([#8220](https://github.com/aaif-goose/goose/pull/8220)) - Blog: AAIF migration post & homepage rework ([#8356](https://github.com/aaif-goose/goose/pull/8356)) --- **Full Changelog:** [v1.29.1 โ v1.30.0](https://github.com/aaif-goose/goose/compare/v1.29.1...v1.30.0) ยท **136 commits** from **40+ contributors**