Skip to content

Goose

v1.37.0 Feature

This release adds 5 notable features for engineering teams evaluating rollout.

βœ“ No known CVEs patched
Read the diff β†’ Tool health β†’ What is this tool? β†’

✓ No known CVEs patched in this version

Topics

acp ai ai-agents mcp

ReleasePort's take

Moderate signal
editorial:auto 4h

The release removes the unused fetch‑metadata IPC handler that could be abused for SSRF attacks.

Why it matters: Removal of the fetch‑metadata IPC handler (severityβ€―80) eliminates a potential SSRF vector; update to v1.37.0 immediately if you rely on this surface.

Summary

AI summary

Broad release touches πŸ› Bug Fixes, ✨ Features, πŸ”§ Improvements, and πŸ“š Documentation.

Changes in this release

Security High

Removes unused fetch-metadata IPC handler (SSRF) [#9340]

Removes unused fetch-metadata IPC handler (SSRF) [#9340]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Feature Medium

Adds proactive OAuth token refresh to avoid re‑authentication on every session [#8386]

Adds proactive OAuth token refresh to avoid re‑authentication on every session [#8386]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Feature Medium

Introduces `tui` feature flag to gate the TUI command [#9428]

Introduces `tui` feature flag to gate the TUI command [#9428]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Feature Medium

Adds `/model` slash command to CLI for session model switching [#8747]

Adds `/model` slash command to CLI for session model switching [#8747]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Feature Medium

Adds Russian language support [#9406]

Adds Russian language support [#9406]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Feature Medium

Adds Turkish desktop locale [#9392]

Adds Turkish desktop locale [#9392]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Feature Medium

Adds Perplexity as a declarative OpenAI‑compatible provider [#9324]

Adds Perplexity as a declarative OpenAI‑compatible provider [#9324]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Feature Medium

Adds Alibaba (Qwen via DashScope) declarative provider [#9443]

Adds Alibaba (Qwen via DashScope) declarative provider [#9443]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Feature Medium

Adds configurable `GOOSE_MAX_TOOL_RESPONSE_SIZE` to limit tool output size [#9256]

Adds configurable `GOOSE_MAX_TOOL_RESPONSE_SIZE` to limit tool output size [#9256]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Bugfix Medium

Prevents duplicate MCP initialization by serializing per‑session agent creation [#9357]

Prevents duplicate MCP initialization by serializing per‑session agent creation [#9357]

Source: llm_adapter@2026-06-03

Confidence: high

β€”
Full changelog

✨ Features

  • xAI SuperGrok OAuth subscription provider #9420
  • Replay ACP images on session load #9496
  • Expose raw provider supported models over ACP #9475
  • ACP session system prompt setter #9478
  • Scholar Sidekick MCP extension #9433
  • tui feature flag to gate the TUI command #9428
  • CLI to list skills with token counts #9326
  • Perplexity as a 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 to CLI for session model switching #8747
  • Databricks AI Gateway provider #9274
  • Russian language support #9406
  • Turkish desktop locale #9392
  • 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
  • GOOSE_FAST_MODEL env var support in ModelConfig::with_fast #9296
  • 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 + skills #9112
  • PreToolUse denial hooks #9304
  • ACP session list pagination #9199
  • goose review local code review command #9114
  • TUI diff viewer #9260
  • goose://new-session deep link to open fresh chat #9196
  • Atomic Chat as declarative OpenAI-compatible provider #9210
  • GOOSE_OAUTH_CALLBACK_PORT for stable OAuth redirect_uri #9209
  • Proactive OAuth token refresh to avoid re-auth on every session #8386
  • GPT-5.5 added to ChatGPT Codex known models #9292
  • Opt-in to Vercel AI gateway leaderboard #9259
  • ACP pass session cwd param to providers #9229
  • Routstr as a declarative provider #9175
  • FuturMix provider #8840
  • oMLX declarative provider #9177
  • Strip chain-of-thought markers from custom provider output #8635
  • Encrypted Nostr session sharing #8922
  • Simplified Chinese (zh-CN) translation #8765
  • Nushell terminal and completion support #8628
  • Optional --parameters to scheduled recipe #8741
  • GitHub Copilot /responses API #9043
  • Vercel AI Gateway provider #9144
  • Hooks system #9093
  • Projects as backend sources with system prompt injection #8739
  • Linux Vulkan support for local inference #9038
  • ACP streamable HTTP spec compliance #9034
  • Group consecutive tool calls into one summarized chain card #8995
  • Quarterly option for scheduler #9076

πŸ› Bug Fixes

  • Forward custom headers through OAuth connect path #9388
  • Scheduled recipe session params #9553
  • Skip OTLP signals when protocol=grpc to avoid background-thread panic #9512
  • 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
  • Build linux x86_64 standard inside manylinux_2_28 for glibc 2.28+ compat #9415
  • Stop the 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
  • Forward ACP server context window size to clients #9455
  • Use context limit from /model/info for custom LiteLLM 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
  • Respect GOOSE_MAX_TURNS in gateway sessions #9354
  • Send empty object instead of null for Anthropic tool_use input #9355
  • Preserve selected branch across project chats #9010
  • 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
  • Prevent tool-use marker leakage in toolshim output #8310
  • 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
  • Gemini 3.x known_location Global routing and KNOWN_MODELS entries #9142
  • Honor Retry-After on 429 responses #9161
  • Coalesce streaming Thinking deltas + list available tools on not-found #9162
  • 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 Bedrock prefix across 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 ACP message id #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 #9048
  • Read prompted file parameters in recipes #8504
  • Accept null tool_call arguments in OpenAI streaming chunks #9035
  • Synchronously reap ACP child to avoid SIGCHLD race #9023
  • Elicitation fixes #8999
  • Persist accumulated cost in session DB to survive reload #9191
  • Check file fallback when keyring has no entry #9279
  • ScheduleModal error message styling #9278
  • Align sidebar hamburger in macOS fullscreen #9257
  • Emit trace_output as span attribute instead of event #9255
  • Replace Venice custom provider with declarative config #9234
  • Use mkdir -p for self-test workspace initialization #9247
  • Show tool name in approval prompt #9216
  • Resolve Azure CLI on Windows by using az.cmd #9215
  • Handle non-interactive terminal in goose configure on Windows #9214
  • Ensure parallel tool image responses don't interleave tool results for Databricks #9241
  • Use plain '> ' prompt instead of goose emoji #9305
  • Stop killing goosed when a window closes #9302
  • Use appInfo instead of clientInfo in MCP Apps init handshake #9249

πŸ”§ Improvements

  • Honor blocking Stop hook decisions #9468
  • Local inference: stricter GGUF requirements, auto detection of tool calling support, fixed thinking output parsing #9442
  • Prefer goose aliases for Databricks v2 inventory #9430
  • Simplify UI customization #9353
  • Build summon instructions per turn #9329
  • Optional api_key configuration for declarative openai-engine providers #9202
  • Flag for login shell PATH #9313
  • Remove popular chat topics from new chat screen #9307
  • Linux musl CLI builds #9240
  • Structured per-provider config block, non-destructive provider switching #8977
  • Flush OTLP traces reliably on exit with configurable timeout #9228
  • Better parsing of pasted HTML as markdown so agents understand #9190
  • Prompt injection mitigation: update pattern-based detection #9198
  • Prompt injection mitigation: update pattern-based detection to reduce FPs #9350
  • Surface resolved Databricks model metadata #9206
  • Unified thinking effort control across all providers #9242
  • Linux desktop Vulkan packages #9323
  • 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
  • Include request URL in provider error messages #9232
  • Worktree-aware directory switcher #8450
  • Chat history search feature to navigation panel #8448
  • Provider-first onboarding #9039
  • Improvements to LM Studio declarative provider #8973
  • Location column in CLI skills table #8785
  • GOOSE_DISABLE_TOOL_CALL_SUMMARY to opt out of per-tool-call summaries #8947
  • Localize hardcoded strings in provider settings UI #8931
  • Move settings into app shell #9047
  • Parallelize provider resolution and eagerly init SQLite pool #8899
  • Deduplicate _goose/providers/list RPC call at startup #8873
  • Skills library redesign #8868
  • TUI spacing/layout improvements #9243
  • Polish sidebar and context panel #9059
  • Polish inline code snippet styling #9011
  • Polish sidebar navigation and project icons #8896
  • Extensions page redesign #8940
  • Mergeable configs + cleanup #8378
  • Consolidate logging setup into shared helper in goose crate #8817
  • Replace lazy_static with std::sync::LazyLock #8815
  • DEFAULT_PROVIDER_TIMEOUT_SECS constant for providers #8816
  • Remove vendored Windows binaries #9318
  • Use native arm64 runners for Linux artifact builds #9075

πŸ“š Documentation

  • Scaleway provider documentation #9423
  • Guide for connecting goose Desktop to a remote goosed server #9275
  • SaladCloud AI Gateway provider documentation #9253
  • Hooks guide #9288
  • Document summon extension requirement for delegate and load tools #9231
  • Blog post for hooks feature #9227
  • Documentation reorganization #9310
  • Tunnel remote access documentation update #9077
  • Orchestrating with goose blog post #9104
  • Blog post on findings with minimax and office QA benchmark #8984
  • Blog post on goose with peekaboo #8884
  • Built-in Local Inference blog post #8808

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

Track Goose

Get notified when new releases ship.

Sign up free

About Goose

an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM

All releases β†’

Beta — feedback welcome: [email protected]