This release keeps dependencies and maintenance posture current for teams operating this tool.
Published 1mo
AI Agents & Assistants
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
acp
ai
ai-agents
mcp
Affected surfaces
auth
breaking_upgrade
Summary
AI summaryBroad release touches 🐛 Bug Fixes, ✨ Features, 🔧 Improvements, and 📚 Documentation.
Full changelog
✨ Features
- Opt-in ACP last message snippets for sessions #9798
- Unified OTLP logging schema for cross-tool detection #9713
- Canonical thinking modes across providers #9743
- Custom ACP method to get session info #9729
- ACP secret key support at goose serve endpoint #9726
- Surface Anthropic stream refusals as visible errors #9724
- ACP search session support in Desktop #9717
- Steering messages with ACP #9560
- ACP list sessions with keyword and type filter #9695
- ACP thinking effort config option #9711
- ACP session management in Desktop #9687
- Image read tool #9607
- ACP methods for config extensions #9581
- Custom notifications only when ACP client specifies capability #9596
- Minimal uniffi setup for cross-language SDK #9593
- Hugging Face OAuth support with auth tab in settings #9552
- Session import functionality #9474
- Replay ACP images on session load #9496
- Raw provider supported models over ACP #9475
- ACP session system prompt setter #9478
- Scholar Sidekick MCP extension #9433
- TUI feature flag to gate tui command #9428
- CLI to list skills with token counts #9326
- xAI SuperGrok OAuth subscription provider #9420
- Perplexity as declarative OpenAI-compatible provider #9324
- Alibaba (Qwen via DashScope) declarative provider #9443
- Configurable tool output size limit via GOOSE_MAX_TOOL_RESPONSE_SIZE #9256
- /model slash command in CLI for session model switching #8747
- Databricks AI Gateway provider #9274
- TUI command on goose-cli #9385
- Configurable MAX_CODE_BLOCK_LINES via env vars #9301
- NEAR AI Cloud provider #9352
- goose://resume session deep link #9343
- Scaleway provider #9254
- Honor GOOSE_FAST_MODEL env var in ModelConfig::with_fast #9296
goose reviewlocal code review command #9114- TUI diff viewer #9260
- ACP paginate session list #9199
- Structured per-provider config block, non-destructive provider switching #8977
- Pass session cwd param to ACP providers #9229
- gpt-5.5 added to known models #9292
- Opt-in to Vercel AI Gateway leaderboard #9259
- Harbor eval runner #9138
- Slash commands (built-in, skill, recipe) in ACP server #9238
- /goal command for agent self-evaluation before finishing #9069
- Summon subagent instructions #9325
- Open-plugins generalization with skills #9112
- PreToolUse denial hook #9304
- Optional api_key configuration for declarative openai-engine providers #9202
- Login shell PATH flag #9313
- Linux musl CLI builds #9240
- goose://new-session deep link to open fresh chat #9196
- GOOSE_DISABLE_TOOL_CALL_SUMMARY to opt out of per-tool-call summaries #8947
- Recipe discovery and execution via ACP server #8925
- GOOSE_OAUTH_CALLBACK_PORT for stable OAuth redirect_uri #9209
- Proactive OAuth token refresh to avoid re-auth on every session #8386
- Encrypted Nostr session sharing #8922
- Simplified Chinese (zh-CN) translation #8765
- Nushell terminal and completion support #8628
- Optional --parameters for scheduled recipes #8741
- GitHub Copilot /responses API #9043
- Vercel AI Gateway provider #9144
- Routstr declarative provider #9175
- FuturMix provider #8840
- oMLX declarative provider #9177
- Strip chain-of-thought markers from custom provider output #8635
- Quarterly option for scheduler #9076
- Hooks system #9093
- Atomic Chat as declarative OpenAI-compatible provider #9210
- Projects as backend sources with system prompt injection #8739
- Worktree-aware directory switcher #8450
- Chat history search feature in navigation panel #8448
- Expose built-in skills through sources list ACP calls #9045
- ACP streamable HTTP spec compliance #9034
- Move goose2 provider catalog behind ACP layer #9030
- Group consecutive tool calls into one summarized chain card #8995
- Replace raw config and secret methods in ACP #9000
- Support Google model inventory refresh #8913
- MCP Apps inline rendering in goose2 #8877
- Goose2 custom providers support in UI and ACP #8924
- Ollama host configurable in goose2 #8912
- Skills added to chat composer #8881
- MCP Apps hydrate and replay payloads in Goose2 #8632
- Windows CUDA release artifacts #8750
🐛 Bug Fixes
- Desktop new chat shortcut #9659
- Correctly map ollama_cloud to canonical provider and update max tokens #9639
- Incorrect max tokens values for Groq provider #9790
- Classify Bedrock ValidationException as ExecutionError #9735
- Page through all Databricks AI Gateway v2 endpoints when listing models #9753
- Preserve unparseable extension entries during config refresh #9439
- goose-sdk release compat check with new schema #9697
- Compatibility of config extension ACP call in TUI #9683
- Intermittent missing extension override on UI #9575
- Scheduled recipe session params #9553
- Skip OTLP signals when protocol=grpc to avoid background-thread panic #9512
- Forward ACP server context window size to clients #9455
- Quote release PR search phrase in pre-release.sh #9573
- Refresh provider list in Switch Models picker #9408
- Start new chat in current window from recipe param modal #9422
- Make Azure api-version query param optional #9221
- Preserve pending env vars in Add Extension form #9285
- Tolerate missing responses output #9449
- Stricter GGUF requirements, auto detection of tool calling support, fixed thinking output parsing #9442
- Build linux x86_64 standard inside manylinux_2_28 for glibc 2.28+ compat #9415
- Stop desktop main window growing taller on every launch #9409
- Desktop chat search session limiting #9366
- Serialize per-session agent creation to stop duplicate MCP init #9357
- Respect GOOSE_MAX_TURNS in gateway sessions #9354
- Send empty object instead of null for Anthropic tool_use input #9355
- Use context limit from /model/info for LiteLLM custom models #9303
- Preserve thinking content for provider context #9314
- Mention configurable timeout env vars in Ollama stream stall error #9246
- Include full recipe parameter details in load/discovery output #9233
- Remove unused fetch-metadata IPC handler (SSRF) #9340
- Emit trace_output as span attribute instead of event #9255
- Check file fallback when keyring has no entry #9279
- Desktop ScheduleModal error message styling #9278
- Align sidebar hamburger in macOS fullscreen #9257
- Use current_exe() instead of PATH lookup when spawning goose #9236
- Set TCP_USER_TIMEOUT on streamable HTTP clients #9207
- Activate custom provider after adding via configure #9213
- Reduce excessive MISSING_TRANSLATION warnings for fallback locales #9294
- Eliminate cross-window deep link contamination #9273
- Improve Telegram gateway error reporting and connection reliability #9223
- Enable VT processing on Windows Console Host #9248
- Zero out cost for local providers (ollama, local) #9219
- Replace Venice custom provider with declarative config #9234
- Widen MOIM allowlist to suppress expected fix_conversation warnings #9226
- Use mkdir -p for self-test workspace initialization #9247
- Re-apply canonical limits when delegate overrides model #9183
- Report cumulative total_tokens in stream-json/json output #8910
- Refresh GCP metadata server token on expiration #8929
- Convert quoted numeric config values to numbers if needed #8844
- Keep SSE reconnect loop alive on long disconnects #8846
- Apply request_params to outgoing OpenAI API payload #9151
- Add Gemini 3.x known_location Global routing and KNOWN_MODELS entries #9142
- Coalesce streaming Thinking deltas + list available tools on not-found #9162
- Honor Retry-After on 429 responses #9161
- Preserve user-set session name for recipe-based chats #9079
- Enforce exp independently of MAX_TOKEN_AGE_SECONDS in OIDC proxy #8839
- Improve inline code contrast in light theme #9058
- Omit max_tokens for OpenAI-compatible requests when unset #9123
- Set correct mcp-app host capabilities #9116
- Normalize nullable schemas for Vertex Gemini compatibility #8930
- Isolate GitHub recipe temp paths #8878
- Set X-Initiator header on GitHub Copilot requests #8809
- Honor dynamic_models: false in declarative provider configs #8795
- Cache trailing message for stable prefix across Bedrock agent turns #8916
- Case-insensitive model name lookup for context_limit #8906
- Emit cumulative token usage in stream-json/json complete event #8870
- Return 400 instead of panicking on invalid CSP header value #8810
- Coalesce streaming chunks under one message id in ACP #8788
- Reuse goose2 vite server on port conflict #8722
- Correct WSL2 OS detection by removing PWD-based Windows override #8869
- Handle Bedrock ReasoningContent blocks gracefully #8843
- Insert tool pair summaries at chronological position in conversation #9087
- Enable SQLite foreign key enforcement in session pool #9121
- Deleted chat session still appears in sidebar list #8674
- Require extension_name on read_resource #8989
- Queued message lost when clicking sending now #9074
- Keep model picker and session config in sync in goose2 #9048
- Read prompted file parameters in recipes #8504
- Accept null tool_call arguments in streaming chunks #9035
- Use python3 in developer extension instructions for macOS/Linux compatibility #8784
- Synchronously reap ACP child to avoid SIGCHLD race #9023
- Elicitation fixes #8999
- SACP notifies clients of generated session names #8983
- CRT linkage in Windows CUDA build #8987
- Unscheduling a recipe should not delete them #8978
- Seed provider handoff history in ACP #8941
- Respect goose2 interface density settings #8953
- Make goose2 respect accent color #8952
- Preserve replay message timestamps #8942
- Goose2 window minimum sizing #8946
- Avoid transform-rasterized dialog text in goose2 #8937
- Keep renamed skills open in detail view #8935
- Gemini OAuth onboarding failure #8905
- Model picker stays usable during provider loading #8900
- Handle ACP requests concurrently #8781
- Prevent tool-use marker leakage in toolshim output #8310
- Exclude preprompt from session title generation #8793
- Prevent login-shell PATH probe from suspending goose on startup #8804
🔧 Improvements
- Mark stream decode errors retryable #9723
- Validate desktop i18n catalogs #9776
- Move formats/openai.rs into goose-providers crate #9633
- Create goose-providers crate with canonical models and types #9588
- ACP session setup refactor #9488
- LRU cache for token counting #9586
- Replace review subprocess timeout with turn limits #9571
- Benchmarking infrastructure #9465
- Honor blocking Stop hook decisions #9468
- Forward custom headers through OAuth connect path #9388
- Prefer goose aliases for Databricks v2 inventory #9430
- Improve dependency hygiene #9360
- Simplify UI customization #9353
- Build summon instructions per turn #9329
- Preserve selected branch across project chats #9010
- Unified thinking effort control across all providers #9242
- Linux desktop Vulkan packages #9323
- Flush OTLP traces reliably on exit with configurable timeout #9228
- Mount ACP in goosed server for iterative migration #9097
- Use plain '> ' prompt instead of goose emoji in CLI #9305
- Remove popular chat topics from new chat screen #9307
- Stop killing goosed when a window closes #9302
- Remove vendored Windows binaries #9318
- Include request URL in provider error messages #9232
- Ensure parallel tool image responses don't interleave for Databricks #9241
- Surface resolved Databricks model metadata #9206
- Better parsing of pasted HTML as markdown #9190
- Persist accumulated cost in session DB to survive reload #9191
- Prompt injection mitigation pattern updates #9198
- TUI spacing/layout improvements #9243
- Preserve thinking content for providers that require it #8857
- Dynamically refresh skill instructions each turn #9217
- Build non-vulkan Linux variants using ubuntu 22.04 #9211
- Show tool name in approval prompt #9216
- Localize hardcoded strings in provider settings UI #8931
- Move settings into app shell #9047
- Add Location column to CLI skills table #8785
- Consolidate logging setup into shared helper #8817
- Protocol cleanup #9147
- Refresh onboarding when provider catalog loads #9051
- Frontend extension session state and tool routes #8464
- Remove threads layer, use sessions directly for ACP #9078
- Install plugins to ~/.agents/plugins #9088
- Use native arm64 runners for Linux artifact builds #9075
- Linux Vulkan support for local inference #9038
- Switch to official new rust-sdk for ACP #9062
- Provider-first onboarding #9039
- Replace artifact heuristics/regexes with protocol messages #8996
- Fold UI refactor review into code review skill #8982
- LM Studio declarative provider improvements #8973
- Remove artifacts dir handling #8945
- Install plugins support #8949
- Redesign Extensions page, treat Extension Manager as core MCP enabler #8940
- Goose2 settings headers cleanup #8951
- Goose2 compact settings modal headers #8950
- Break up acp/server.rs #8932
- Goose2 skill refactor #8897
- Polish sidebar navigation and project icons #8896
- Update provider row after saving credentials #8914
- Parallelize provider resolution and eagerly init SQLite pool #8899
- Update goose2 credential management behind provider-scoped ACP/core API #8887
- Deduplicate _goose/providers/list RPC call at startup #8873
- Mergeable configs #8378
- Agent provider to use explicit type states #8879
- Translate ACP host capabilities into MCP initialization #8623
- Redesign skills library #8868
- Prompt injection mitigation enabled by default for internal users #9612
- Re-adjust pattern-based detection confidence scores #9690
- Pattern-based detection updates to reduce false positives #9350
- Add directionality to egress logging #9546
📚 Documentation
- Update ACP clients documentation #9772
- Fix stale session navigation/delete docs #9727
- Fix typo in MCP blog post #9641
- Update analyze extension instructions #9585
- Add Scaleway provider documentation #9423
- Add Repology badge to README #9245
- Document summon extension requirement for delegate and load tools #9231
- Guide for connecting goose Desktop to remote goosed server #9275
- SaladCloud AI Gateway documentation #9253
- Hooks guide #9288
- Blog post for hooks feature #9227
- Fix internal documentation anchors #9094
- Blog: orchestrating with goose #9104
- Updated tunnel remote access documentation #9077
- Blog: goose with peekaboo #8884
- Built-in Local Inference blogpost #8808
- Blog: findings with minimax and office QA benchmark #8984
- Reorganize documentation #9310
- Stats update #9410
🌐 Localization
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Goose
an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
Related context
Related tools
Beta — feedback welcome: [email protected]