v1.45.0

aaif-goose/goosev1.45.0Jul 29, 2026by github-actions[bot]

AI Summary

This release introduces support for the latest Gemini models and Opus5, along with new features like stable agent event message identity and configurable documentation root for air-gapped access. It also includes numerous bug fixes regarding model discovery, tool handling, and UI consistency.

Key Highlights

  • Support for Opus5 models with adaptive thinking capabilities.
  • Upgrade to rmcp 2.0 for improved integration and stability.
  • Enhanced CLI with tab completion for the `model` command and configurable `GOOSE_DOCS_ROOT` for offline environments.
  • Improved dark mode UX and cleanup of unused UI components.
  • Restoration of dynamic model discovery and Grok support.

Breaking Changes

  • Disable scheduler by default for ACP

New Features

  • Stable agent event message identity
  • Tab completion and switch provider for `model` command
  • Configurable GOOSE_DOCS_ROOT for air-gapped docs access
  • Structured summary output with template rendering for compaction
  • Allow disabling built-in skills
  • Gate tool-call label enrichment on ACP client capability

Full Release Notes

## ✨ Features

- Stable agent event message identity [#10716](https://github.com/aaif-goose/goose/pull/10716)
- Tab completion and switch provider for `model` command [#10585](https://github.com/aaif-goose/goose/pull/10585)
- Support latest Gemini models [#10630](https://github.com/aaif-goose/goose/pull/10630)
- Configurable GOOSE_DOCS_ROOT for air-gapped docs access [#10294](https://github.com/aaif-goose/goose/pull/10294)
- Structured summary output with template rendering for compaction [#10471](https://github.com/aaif-goose/goose/pull/10471)
- Allow disabling built-in skills [#10600](https://github.com/aaif-goose/goose/pull/10600)
- Gate tool-call label enrichment on ACP client capability [#10644](https://github.com/aaif-goose/goose/pull/10644)

## 🐛 Bug Fixes

- Restore dynamic model discovery and current Grok support [#10756](https://github.com/aaif-goose/goose/pull/10756)
- Update DeepSeek model names to v4 API [#10729](https://github.com/aaif-goose/goose/pull/10729)
- Forward Claude Code model picker selection to the adapter [#10675](https://github.com/aaif-goose/goose/pull/10675)
- Forward Pi model selection to the adapter [#10707](https://github.com/aaif-goose/goose/pull/10707)
- Preserve enabled flag when migrating platform extensions [#10690](https://github.com/aaif-goose/goose/pull/10690)
- Pass session working_dir to on_call_tool [#10689](https://github.com/aaif-goose/goose/pull/10689)
- Preserve adversary tool arguments [#10529](https://github.com/aaif-goose/goose/pull/10529)
- Keep XML snippets inside JSON as data for local inference [#10606](https://github.com/aaif-goose/goose/pull/10606)
- Sync generated chat title in header [#10578](https://github.com/aaif-goose/goose/pull/10578)
- Prompt for tool approval in telegram gateway sessions [#10613](https://github.com/aaif-goose/goose/pull/10613)
- Keep CLI provider prompts out of process arguments [#10547](https://github.com/aaif-goose/goose/pull/10547)
- Ignore stale inventory for static model lists [#10591](https://github.com/aaif-goose/goose/pull/10591)
- Use shell working directory on initial desktop launch [#10655](https://github.com/aaif-goose/goose/pull/10655)
- Enable inventory refresh for OpenRouter model picker [#10641](https://github.com/aaif-goose/goose/pull/10641)
- Preserve read lines and reload tool output in ACP [#10662](https://github.com/aaif-goose/goose/pull/10662)
- Surface tool call output in CLI and Desktop [#10654](https://github.com/aaif-goose/goose/pull/10654)
- Truncate overlong function names in provider requests [#10659](https://github.com/aaif-goose/goose/pull/10659)
- Preserve ACP tool call update fields in desktop [#10653](https://github.com/aaif-goose/goose/pull/10653)
- Use configured session manager for tool summaries [#10628](https://github.com/aaif-goose/goose/pull/10628)
- Omit disabled OpenRouter reasoning [#10517](https://github.com/aaif-goose/goose/pull/10517)
- Clear stale pending ACP connection after terminal recovery failure [#10552](https://github.com/aaif-goose/goose/pull/10552)
- Confirm pending steer message on queuedSteer notification [#10532](https://github.com/aaif-goose/goose/pull/10532)
- Apply hermit env directly in node shims so fish login shell doesn't break MCP startup [#10028](https://github.com/aaif-goose/goose/pull/10028)

## 🔧 Improvements

- Upgrade to rmcp 2.0 [#10584](https://github.com/aaif-goose/goose/pull/10584)
- Opus5 support including adaptive thinking [#10686](https://github.com/aaif-goose/goose/pull/10686)
- Refine dark theme message surfaces for consistent, compliant dark mode UX [#10693](https://github.com/aaif-goose/goose/pull/10693)
- Fix Korean translation errors, untranslated entries, and terminology consistency [#10667](https://github.com/aaif-goose/goose/pull/10667)
- Simplify ACP tool-call handling and fix chain summaries [#10599](https://github.com/aaif-goose/goose/pull/10599)
- Enhance the uniffi API layer [#10427](https://github.com/aaif-goose/goose/pull/10427)
- Disable scheduler by default for ACP [#10781](https://github.com/aaif-goose/goose/pull/10781)
- UI cleanup to remove unused components and functions [#10761](https://github.com/aaif-goose/goose/pull/10761)
- Bump nostr to 0.44.6 to clear RUSTSEC-2026-0216 [#10733](https://github.com/aaif-goose/goose/pull/10733)
- Create source archive as release artifact [#10786](https://github.com/aaif-goose/goose/pull/10786)