v1.34.0

aaif-goose/goosev1.34.0May 13, 2026by github-actions[bot]

AI Summary

Major release introducing hooks support for customizable agent behavior, Agents CRUD operations, Projects as backend sources, and MCP Apps integration. Includes auto-updating for plugins and Linux Vulkan support.

Key Highlights

  • Hooks support for customizable agent behavior
  • Agents CRUD operations
  • Projects as backend sources with system prompt injection
  • MCP Apps integration with hydration and replay
  • Auto-updating for plugins
  • Linux Vulkan support for local inference

New Features

  • Hooks support for customizable agent behavior
  • Agents CRUD operations
  • Projects as backend sources with system prompt injection
  • Auto-updating for plugins
  • Linux Vulkan support for local inference
  • ACP streamable HTTP spec compliance
  • Expose built-in skills through sources list
  • Provider-first onboarding flow
  • Move goose2 provider catalog behind ACP layer
  • Group consecutive tool calls into one summarized chain card
  • Replace raw config and secret methods in ACP
  • goose2 support for custom providers in UI & ACP
  • Configurable Ollama host in goose2
  • Update provider row after saving credentials
  • Google model inventory refresh support
  • Skills in the chat composer
  • Mergeable configs
  • MCP Apps: hydrate and replay app payloads
  • MCP Apps: translate ACP host capabilities
  • Windows CUDA release artifacts
  • goose2 compact settings modal headers
  • goose-tui binary

Full Release Notes

## ✨ Features

- Hooks support for customizable agent behavior [#9093](https://github.com/aaif-goose/goose/pull/9093)
- Agents CRUD operations [#9084](https://github.com/aaif-goose/goose/pull/9084)
- Projects as backend sources with system prompt injection [#8739](https://github.com/aaif-goose/goose/pull/8739)
- Auto-updating for plugins [#9061](https://github.com/aaif-goose/goose/pull/9061)
- Linux Vulkan support for local inference [#9038](https://github.com/aaif-goose/goose/pull/9038)
- ACP streamable HTTP spec compliance [#9034](https://github.com/aaif-goose/goose/pull/9034)
- Expose built-in skills through sources list ACP calls [#9045](https://github.com/aaif-goose/goose/pull/9045)
- Provider-first onboarding flow [#9039](https://github.com/aaif-goose/goose/pull/9039)
- Move goose2 provider catalog behind ACP layer [#9030](https://github.com/aaif-goose/goose/pull/9030)
- Group consecutive tool calls into one summarized chain card [#8995](https://github.com/aaif-goose/goose/pull/8995)
- Replace raw config and secret methods in ACP [#9000](https://github.com/aaif-goose/goose/pull/9000)
- goose2 support for custom providers in UI & ACP [#8924](https://github.com/aaif-goose/goose/pull/8924)
- Configurable Ollama host in goose2 [#8912](https://github.com/aaif-goose/goose/pull/8912)
- Update provider row after saving credentials [#8914](https://github.com/aaif-goose/goose/pull/8914)
- Google model inventory refresh support [#8913](https://github.com/aaif-goose/goose/pull/8913)
- Skills in the chat composer [#8881](https://github.com/aaif-goose/goose/pull/8881)
- Mergeable configs [#8378](https://github.com/aaif-goose/goose/pull/8378)
- MCP Apps: hydrate and replay app payloads in goose2 [#8632](https://github.com/aaif-goose/goose/pull/8632)
- MCP Apps: translate ACP host capabilities into MCP initialization [#8623](https://github.com/aaif-goose/goose/pull/8623)
- Windows CUDA release artifacts [#8750](https://github.com/aaif-goose/goose/pull/8750)
- goose2 compact settings modal headers [#8950](https://github.com/aaif-goose/goose/pull/8950)
- goose-tui binary [#9089](https://github.com/aaif-goose/goose/pull/9089)

## 🐛 Bug Fixes

- Insert tool pair summaries at chronological position in conversation [#9087](https://github.com/aaif-goose/goose/pull/9087)
- Enable SQLite foreign key enforcement in session pool [#9121](https://github.com/aaif-goose/goose/pull/9121)
- Deleted chat session still appears in sidebar list [#8674](https://github.com/aaif-goose/goose/pull/8674)
- Revert unexpected change from ui/goose2 work [#9098](https://github.com/aaif-goose/goose/pull/9098)
- Require extension_name on read_resource [#8989](https://github.com/aaif-goose/goose/pull/8989)
- Queued message lost when clicking send now [#9074](https://github.com/aaif-goose/goose/pull/9074)
- Keep model picker and session config in sync [#9048](https://github.com/aaif-goose/goose/pull/9048)
- Read prompted file parameters in recipes [#8504](https://github.com/aaif-goose/goose/pull/8504)
- Accept null tool_call arguments in OpenAI streaming chunks [#9035](https://github.com/aaif-goose/goose/pull/9035)
- Use python3 in developer extension instructions for macOS/Linux compatibility [#8784](https://github.com/aaif-goose/goose/pull/8784)
- Synchronously reap ACP child to avoid SIGCHLD race [#9023](https://github.com/aaif-goose/goose/pull/9023)
- goose2 small-window chat and settings layouts [#9019](https://github.com/aaif-goose/goose/pull/9019)
- Elicitation fixes [#8999](https://github.com/aaif-goose/goose/pull/8999)
- SACP notifies clients of generated session names [#8983](https://github.com/aaif-goose/goose/pull/8983)
- Unscheduling a recipe should not delete them [#8978](https://github.com/aaif-goose/goose/pull/8978)
- Seed provider handoff history in ACP [#8941](https://github.com/aaif-goose/goose/pull/8941)
- Respect goose2 interface density settings [#8953](https://github.com/aaif-goose/goose/pull/8953)
- Make goose2 respect accent color [#8952](https://github.com/aaif-goose/goose/pull/8952)
- Preserve replay message timestamps [#8942](https://github.com/aaif-goose/goose/pull/8942)
- goose2 window minimum sizing [#8946](https://github.com/aaif-goose/goose/pull/8946)
- Avoid transform-rasterized dialog text in goose2 [#8937](https://github.com/aaif-goose/goose/pull/8937)
- Keep renamed skills open in detail view [#8935](https://github.com/aaif-goose/goose/pull/8935)
- Gemini OAuth onboarding failure [#8905](https://github.com/aaif-goose/goose/pull/8905)
- Copy and content improvements in goose2 [#8886](https://github.com/aaif-goose/goose/pull/8886)
- Model picker stays usable during provider loading [#8900](https://github.com/aaif-goose/goose/pull/8900)
- Handle ACP requests concurrently [#8781](https://github.com/aaif-goose/goose/pull/8781)
- CRT linkage in Windows CUDA build [#8987](https://github.com/aaif-goose/goose/pull/8987)
- Exclude preprompt from session title generation [#8793](https://github.com/aaif-goose/goose/pull/8793)
- Prevent login-shell PATH probe from suspending goose on startup [#8804](https://github.com/aaif-goose/goose/pull/8804)
- Remove defaults yaml [#8854](https://github.com/aaif-goose/goose/pull/8854)

## 🔧 Improvements

- Keep thread tables + column [#9156](https://github.com/aaif-goose/goose/pull/9156)
- Refactor local inference around backends [#9137](https://github.com/aaif-goose/goose/pull/9137)
- Remove threads layer, use sessions directly for ACP [#9078](https://github.com/aaif-goose/goose/pull/9078)
- Install plugins to ~/.agents/plugins [#9088](https://github.com/aaif-goose/goose/pull/9088)
- Switch to official new rust-sdk for ACP [#9062](https://github.com/aaif-goose/goose/pull/9062)
- Remove attachment preamble in goose2 [#9052](https://github.com/aaif-goose/goose/pull/9052)
- goose2 UI state refactor (part 1) [#9049](https://github.com/aaif-goose/goose/pull/9049)
- Clean up types [#9057](https://github.com/aaif-goose/goose/pull/9057)
- Use native arm64 runners for Linux artifact builds [#9075](https://github.com/aaif-goose/goose/pull/9075)
- Redesign Extensions page, remove enable toggle, treat Extension Manager as core MCP enabler per session [#8940](https://github.com/aaif-goose/goose/pull/8940)
- Extensions page styling alignment [#9003](https://github.com/aaif-goose/goose/pull/9003)
- Replace artifact heuristics/regexes with protocol messages [#8996](https://github.com/aaif-goose/goose/pull/8996)
- Fold UI refactor review into code review skill [#8982](https://github.com/aaif-goose/goose/pull/8982)
- LM Studio declarative provider improvements [#8973](https://github.com/aaif-goose/goose/pull/8973)
- Remove artifacts dir handling [#8945](https://github.com/aaif-goose/goose/pull/8945)
- Install plugins [#8949](https://github.com/aaif-goose/goose/pull/8949)
- Render MCP apps inline in goose2 [#8877](https://github.com/aaif-goose/goose/pull/8877)
- Remove skill categories [#9008](https://github.com/aaif-goose/goose/pull/9008)
- goose2 distribution bundling [#8911](https://github.com/aaif-goose/goose/pull/8911)
- goose2 used ACP session id [#8985](https://github.com/aaif-goose/goose/pull/8985)
- Clean up goose2 settings headers [#8951](https://github.com/aaif-goose/goose/pull/8951)
- Break up acp/server.rs [#8932](https://github.com/aaif-goose/goose/pull/8932)
- goose2 skill refactor [#8897](https://github.com/aaif-goose/goose/pull/8897)
- Update patterns for pattern-based command injection [#8546](https://github.com/aaif-goose/goose/pull/8546)
- Polish sidebar navigation and project icons [#8896](https://github.com/aaif-goose/goose/pull/8896)
- Parallelize provider resolution and eagerly init SQLite pool [#8899](https://github.com/aaif-goose/goose/pull/8899)
- Update goose2 credential management behind provider-scoped ACP/core API [#8887](https://github.com/aaif-goose/goose/pull/8887)
- Deduplicate _goose/providers/list RPC call at startup [#8873](https://github.com/aaif-goose/goose/pull/8873)
- Agent provider to use explicit type states [#8879](https://github.com/aaif-goose/goose/pull/8879)
- Redesign skills library [#8868](https://github.com/aaif-goose/goose/pull/8868)
- Revert client-side autocompaction [#9055](https://github.com/aaif-goose/goose/pull/9055)
- Set LLAMA_STATIC_CRT for Windows CUDA [#8901](https://github.com/aaif-goose/goose/pull/8901)
- Disable spellcheck in model search [#8889](https://github.com/aaif-goose/goose/pull/8889)

## 📚 Documentation

- Blog: orchestrating with goose [#9104](https://github.com/aaif-goose/goose/pull/9104)
- Remove old goose bench documentation [#9054](https://github.com/aaif-goose/goose/pull/9054)
- Updated tunnel remote access documentation [#9077](https://github.com/aaif-goose/goose/pull/9077)
- Blog: findings with minimax and office QA benchmark [#8984](https://github.com/aaif-goose/goose/pull/8984)
- Align CODEOWNERS with pull request review rules in GOVERNANCE.md [#9056](https://github.com/aaif-goose/goose/pull/9056)
- Bring MAINTAINERS.md up to date [#9053](https://github.com/aaif-goose/goose/pull/9053)
- Improve AGENTS.md readability [#8979](https://github.com/aaif-goose/goose/pull/8979)
- Improve goose2 AGENTS.md [#9028](https://github.com/aaif-goose/goose/pull/9028)
- Add CLAUDE.mds to mirror AGENTS.mds [#9029](https://github.com/aaif-goose/goose/pull/9029)
- Blog: goose with peekaboo [#8884](https://github.com/aaif-goose/goose/pull/8884)
- Blog: Built-in Local Inference [#8808](https://github.com/aaif-goose/goose/pull/8808)
- Hide Windows CUDA download links until release [#8874](https://github.com/aaif-goose/goose/pull/8874)