AI CLIs & agents · Block

Goose changelog

Open-source, extensible AI agent that goes beyond code suggestions.

Latest version
v1.55.0
Last shipped
3d ago
Updates · 90 days
13
Avg. release gap
6.8 days
Weekly activity · last 26 weeks1 update · 25w ago2 updates · 24w ago0 updates · 23w ago2 updates · 22w ago1 update · 21w ago1 update · 20w ago1 update · 19w ago0 updates · 18w ago1 update · 17w ago1 update · 16w ago2 updates · 15w ago0 updates · 14w ago2 updates · 13w ago1 update · 12w ago1 update · 11w ago0 updates · 10w ago1 update · 9w ago1 update · 8w ago1 update · 7w ago1 update · 6w ago1 update · 5w ago2 updates · 4w ago1 update · 3w ago1 update · 2w ago1 update · 1w ago1 update · this week

Release history

Recent updates

Friday, October 16Oct 16, 2026

Release v1.55.0

Goose v1.55.0

✨ Features AIgateway declarative provider #12528 Propagate W3C trace context from ACP prompts to MCP tool calls #12697 Surface provider x-request-id on responses and errors #12587 Honor supports_vision declared on custom provider models #12769 Use live model…

Read full notes

✨ Features

  • AIgateway declarative provider #12528
  • Propagate W3C trace context from ACP prompts to MCP tool calls #12697
  • Surface provider x-request-id on responses and errors #12587
  • Honor supports_vision declared on custom provider models #12769
  • Use live model metadata for OpenAI reasoning and prefer the Responses API #12568
  • Cap auto-compaction at 225k tokens by default #12790
  • Improve askai bot relevance #12728

🐛 Bug Fixes

  • Adaptive thinking for Claude Sonnet and Haiku 5.5 #12761
  • Reject malformed GOOSE_MODE across ACP providers #12846
  • Bedrock: don't retry non-context ValidationException on converse_stream #12710
  • OpenRouter: do not set transforms field unconditionally #11374
  • Apply long-context price tiers to cost estimates #12787
  • Finish pending tools before enforcing max turns #12702
  • Not offer delegate to code-mode scripts #12711
  • Anthropic: forward unknown request_params to wire, mirroring openai engine #12720
  • Desktop: show copy button on messages with thinking blocks #12726

🔧 Improvements

  • Bind subagents by their parent's hooks, mode and approvals #12802
  • Lease a session's selection and start each extension on first use #12775
  • Make Stop end the run promptly and save what it produced #12765
  • Make tool operations own tool call checks #12865
  • Not infer or steer while a tool approval is pending #12808
  • Leave the login-shell PATH to whoever launches goose #12799
  • Build turns from the session record: derive recipe prompt parts, persist prompt, goal and container #12730
  • Add ProviderManager and route session providers through it #12745
  • Use typed structs for openai message formatting #12725
  • Remove background subagents and orchestrator; make Doctor session-only #12729
  • Avoid duplicate provider initialization for foreground subagents #12705
  • Refresh the model catalog on the blocking pool #12727
  • Remove false optionality in desktop props #12776
  • Delete the legacy agent loop #12760

📚 Documentation

  • Agentic State Machines #12130

Thursday, October 8Oct 8, 2026

Release v1.54.0

Goose v1.54.0

✨ Features Prompt for goose mode during first-time configure #12629 HTML session export with an interactive viewer #11977 🐛 Bug Fixes Adaptive thinking for Claude Sonnet and Haiku 5.5 #12761 Treat a client extension selection as the exact session set #12548…

Read full notes

✨ Features

  • Prompt for goose mode during first-time configure #12629
  • HTML session export with an interactive viewer #11977

🐛 Bug Fixes

  • Adaptive thinking for Claude Sonnet and Haiku 5.5 #12761
  • Treat a client extension selection as the exact session set #12548
  • Support hyphenated GPT 6.1 Sol effort aliases #12689
  • Use a system Node.js in the Windows npx wrapper #12176
  • Show thinking when GOOSE_CLI_SHOW_THINKING is set to any value #12454
  • Price Databricks GLM aliases from the zhipuai catalog #12673
  • Read messages from config for tom #12634
  • Preserve the service total when folding cache input tokens for Bedrock #12586
  • Refresh revoked Copilot tokens when listing models #12627
  • Refresh revoked GitHub Copilot API token once #12616
  • Recognize ASAR when validating update target #12599
  • Stamp the implemented protocol version in initialize #12580
  • Session naming/"none" reasoning effort fails for gpt-6.1-sol #12605
  • Reflect loading state of chats #12603
  • Read cache write tokens from Responses API usage #12509

🔧 Improvements

  • Route every extension operation through a lease #12723
  • Foreground subagents in the state machine loop #12632
  • Resolve extensions into a per-inference lease #12161
  • Remove Nostr session sharing from goose core #12453
  • Detect vision support #12594
  • Upgrade rust to 1.99.0 #12714

📚 Documentation

  • Update Desktop permission mode instructions #12626
  • Clarify self-serve LLM provider path #12552

Friday, October 2Oct 2, 2026

Release v1.53.0

Goose v1.53.0

✨ Features Resizable Picture-in-Picture window for MCP Apps #12417 Fetch model metadata from models.dev live with bundled fallback #12560 Quoting action to append selected conversation text to composer #12536 Lean ACP-only Goose binary #11961 Model discovery…

Read full notes

✨ Features

  • Resizable Picture-in-Picture window for MCP Apps #12417
  • Fetch model metadata from models.dev live with bundled fallback #12560
  • Quoting action to append selected conversation text to composer #12536
  • Lean ACP-only Goose binary #11961
  • Model discovery API for GDK Provider #12497
  • Meta Muse Code provider #11765
  • Support for Opus 5.5, GPT-6-sol, GPT-6-luna #12447
  • Session rename command in CLI #12236
  • Show working directory in session remove command #12232
  • GDK agent loop runs on wasm32 #12569

🐛 Bug Fixes

  • Session naming and "none" reasoning effort for GPT-6.1-sol #12605
  • Strip inert parameters from session snapshots in recipes #11988
  • Preserve session context across reply lifecycle #12516
  • Report max_tokens truncation and flush tool calls for Bedrock #11872
  • Require a terminal for elicitation input in CLI #12542
  • Keep tool results consecutive when OpenAI-compatible tool images are emitted #12233
  • GDK tools with no args still advertise empty params input schema #12527
  • Passing thinking effort to Ollama models #12555
  • Estimate costs through canonical provider aliases #11916
  • Resolve vision support from the canonical catalog for all providers #12522
  • Send Databricks v2 Claude model services through the Anthropic route #12486
  • Show tool output for tools without a priority annotation #12436
  • Treat an unavailable prompt classifier as no signal #12452
  • Guard MCP streamable-HTTP client redirects against SSRF #11501
  • Resolve vision support from the canonical catalog in GDK so tool result images reach the model #12440
  • Prevent Extension Manager from disabling itself #12270
  • Rename deepseek-v4-flash to deepseek-flash #12269
  • Auto-compact at tool boundaries in the unrolled agent loop #12444
  • Remediate GHSA-6mg9-3cvh-9939 security vulnerability #12537

🔧 Improvements

  • Suppress warning when ending on a successful tool call #12468
  • Update rmcp to 3.4.1 #12483
  • Remove MCP sampling code #12193
  • Remove production code only reachable from tests #12504
  • Pin remaining GitHub Actions to commit SHAs #11989

📚 Documentation

  • Warn about keyring hang in unattended ACP environments #12173

Wednesday, September 23Sep 23, 2026

Release v1.52.0

Goose v1.52.0

✨ Features Live voice conversations in the desktop app #12093 Decisions provider crate with OpenRouter and Jev implementations #12418 Z.AI Coding Plan provider with streaming tool calls #12205 Recipe parameter limits enforcement (max 32 params, 200 select…

Read full notes

✨ Features

  • Live voice conversations in the desktop app #12093
  • Decisions provider crate with OpenRouter and Jev implementations #12418
  • Z.AI Coding Plan provider with streaming tool calls #12205
  • Recipe parameter limits enforcement (max 32 params, 200 select options, 128 KiB) #12259
  • OpenAI provider custom base URL support in SDK #11967
  • Support for Opus 5.5, GPT-6-sol, and GPT-6-luna models #12447

🐛 Bug Fixes

  • Cancel elicitation on incomplete CLI input #11403
  • Protect custom provider configuration files #11438
  • Prevent duplicate schedules from overwriting recipes #12434
  • Classify many-image dimension limit errors as context length-exceeded #12208
  • Set strict:false on chat-completions tools #12272
  • Show CoreWeave in bundled provider metadata #12149
  • Allow 60 seconds for provider readiness #12240
  • Write PATH to login shell files idempotently in installer #12072
  • De-duplicate @radix-ui packages to fix pointer-events stranded on body #11792
  • Drive pre-key model lists from the canonical registry #11475
  • Make todo opt-in and soften its prompts #12123
  • Prevent updates to unsupported macOS versions #12115
  • Require recipe consent before session/new spawns extensions #12094
  • Skills follow working directory updates #11443
  • Create updater staging atomically #11741
  • Require opt-in for roaming TCP bridge #11701
  • Omit unsupported socket MCP servers #11417
  • Let recipe settings outrank GOOSE_SUBAGENT_MODEL/PROVIDER #12070
  • Send session usage updates after each provider call #12006
  • Start a chat with no extensions when the user selects none #11908
  • Databricks GLM-5.3 and Kimi K3 reasoning effort #12079
  • Avoid splitting graphemes in skills list #12074
  • Keep the subagent prompt prefix cacheable #12062
  • Install libclang and cmake in devcontainer #12091

🔧 Improvements

  • Redesign settings as a full-screen view #12163
  • Split extension transports out of ExtensionManager #12088
  • Compress canonical_models.json #12385
  • Resolve data_dir from Paths::data_dir() instead of config #12203

📚 Documentation

  • Use the real developer tool names in the hooks guide #12260
  • Fix stale declarative provider file paths in providers.md #12192
  • Clarify public crate APIs #12186
  • Remove Rube extension documentation (service discontinued) #12116

Thursday, September 17Sep 17, 2026

Release v1.51.0

Goose v1.51.0

✨ Features Route Desktop to state-machine loop via ACP prompt meta #11247 EUrouter as a declarative provider #11619 Connect external backend ACP socket to redirect-resolved backend URL #11829 GPT-live API support #12011 Operator allowlist for gateway pairing…

Read full notes

✨ Features

  • Route Desktop to state-machine loop via ACP prompt meta #11247
  • EUrouter as a declarative provider #11619
  • Connect external backend ACP socket to redirect-resolved backend URL #11829
  • GPT-live API support #12011
  • Operator allowlist for gateway pairing #11979
  • Opt-in terminal bell when a turn finishes or approval is needed #10182
  • Report real cause of external backend connection failures #11828
  • Scope Toolshim to custom providers #11414

🐛 Bug Fixes

  • Treat auto-compact 100% as disabled #11932
  • Validate recipes consistently in scheduler #11561
  • MCP preferred version and HTTP retries #12066
  • Require Developer extension for doctor command #11437
  • Keep streamed thinking ahead of text and tool calls #11837
  • Preserved-thinking compliance for Anthropic provider layer #11836
  • Context management dependency resolution #11768
  • Stop mapping Astra Off to reasoning.effort none #11976
  • Return failure for interrupted headless runs #11938
  • Send session ID header for OpenCode Go #11944
  • Pair Google functionResponse names with preceding request #11888
  • Show output for failed tool calls in desktop #11940
  • Translate session actions menu in missing locales #11894
  • Stop re-nudging on every tool call for goals #11697
  • Bound image response bodies in developer extension #11411
  • Bind MCP app tools to extension owners #11416
  • Protect gateway pairing codes #11427
  • Bound local audio resampling for dictation #11379
  • Restrict session storage permissions #11613
  • Build recipes from one validated snapshot #11612
  • Filter scheduled session content #11603
  • Stream chat completions by default for LiteLLM #11870

🔧 Improvements

  • Preserve resource links that cannot be inlined in ACP #11941
  • Remove planning mode from the CLI #12061
  • Remove create recipe command in CLI #11942
  • RTL support for chat content #11851
  • Use 词元/詞元 for model tokens in Chinese localization #11945
  • Guard recipe-before-inference ordering on scheduled runs #11502

📚 Documentation

  • Remove Inkeep search integration #12085
  • Clarify extension directory policy #11923
  • RISC-V build support #11933

Monday, September 14Sep 14, 2026

Release v1.50.1

Goose v1.50.1

🐛 Bug Fixes Revert model updates for patch release Roll back MCP default version selection update #6d8152a

Read full notes

🐛 Bug Fixes

  • Revert model updates for patch release
  • Roll back MCP default version selection update #6d8152a

Tuesday, September 8Sep 8, 2026

Release v1.50.0

Goose v1.50.0

✨ Features Support GPT-6 Astra models #11869 Tool calling for goose-agent #11627 Kotlin callers can now configure Databricks AI Gateway path #11631 🐛 Bug Fixes Require HTTPS for Snowflake connections #11745 Bind CLI session naming to trusted path #11787 Honor…

Read full notes

✨ Features

  • Support GPT-6 Astra models #11869
  • Tool calling for goose-agent #11627
  • Kotlin callers can now configure Databricks AI Gateway path #11631

🐛 Bug Fixes

  • Require HTTPS for Snowflake connections #11745
  • Bind CLI session naming to trusted path #11787
  • Honor content capture opt-out in tracing #11782
  • Enforce subagent platform guards #11604
  • Show authoritative tool approval details #11743
  • Preserve permission revocations across managers #11383
  • Resolve UI freeze after renaming session #11759
  • Count durable background turns in summon #11841
  • Anchor chat-payload breakpoints on the agentic tail #11429
  • Preserve cwd and child status in node launchers #11753

🔧 Improvements

  • Prefer latest MCP version #11827
  • Remove keyring timeout #11798
  • Publish goose ACP client and acp binary as separate npm packages #11846
  • Remove managed model registry from local inference #11789
  • Remove fast model routing #11469
  • AIML API integration #11758

📚 Documentation

  • Move ACP reference under GDK section #11805
  • Generate ACP reference documentation from release schemas #11770
  • ClawMetry session observability tutorial #11554

Thursday, September 3Sep 3, 2026

Release v1.49.0

Goose v1.49.0

✨ Features Auto-updater for desktop application #10614 Linux ARM64 desktop release packages #11518 Load extensions in the background so the CLI prompt is immediately usable #10403 Title sessions by subject, not workflow step #11135 Interactive git branch…

Read full notes

✨ Features

  • Auto-updater for desktop application #10614
  • Linux ARM64 desktop release packages #11518
  • Load extensions in the background so the CLI prompt is immediately usable #10403
  • Title sessions by subject, not workflow step #11135
  • Interactive git branch indicator in chat bottom bar #11290
  • on_failure block for PreToolUse hooks #11449
  • Web-search and browser-use built-in skills #11233
  • Model-native audio transcription provider #10589
  • --with-extension can now name its extension #11127
  • Auto-focus chat input when user starts typing #11184
  • Collapse scheduled job sessions into accordion in chat history #11265
  • Select saved recipes when creating a schedule #10892
  • Show recent used models in chat footer model picker #11097
  • PreToolUseResult event and stable tool_call_id across tool lifecycle #11120
  • Sort configured providers to the top of the provider list #11409
  • OpenRouter session_id forwarding and app category header #10868
  • ACP thinking effort derivation and forwarding #10949
  • GPT-5.6 follow-up support for Codex and Responses API #10460
  • Pre-registered OAuth clients for streamable_http extensions #11182
  • OTEL request params, response metadata, tool call parity, and agent identification #11261
New Providers
  • Opper as a declarative OpenAI-compatible provider #11589
  • Databricks Unity Catalog model services discovery #11575
  • TrustedRouter declarative provider #11422
  • OpenCode Zen gateway as a declarative provider #10939
  • Gondola as declarative OpenAI-compatible provider #11421
  • SayGM as declarative OpenAI-compatible provider #11267
  • Lynkr as declarative OpenAI-compatible provider #11372
  • PleumRouter declarative provider #10479
  • Z.ai GLM-5.3 (replacing GLM-5.2) #11226
  • OpenAI GPT-5.6 (sol/terra/luna) via Bedrock #10502
  • Custom provider cost fields for cost tracking #11220

🐛 Bug Fixes

  • Unify context limit resolution behind provider API #11213
  • Keep using valid MCP access tokens without a refresh token #11324
  • Provider save no longer overwrites stored config with defaults #11517
  • Deduplicate parallel tool-pair summaries #11195
  • Exclude Git metadata from project hints #11148
  • Honor remote working directory for new chats and allow typed paths #11322
  • Sanitize hidden Unicode in Bedrock tools #11121
  • Avoid sending images to non-vision capable models #11496
  • Reject cmd.exe commands containing newlines #11537
  • Honest compaction failure message and fast-fail when no tool responses exist #10500
  • Chat input freeze after opening model picker #11525
  • Bound non-streaming JSON responses #11109
  • Reject non-object response schemas in recipes #11478
  • Coalesce consecutive Thinking blocks in collect_stream #11317
  • Decouple source file and tool response limits #11391
  • Discover GGUF repos with non-standard filenames #11005
  • Flip select menus up when the window clips them #11495
  • Bedrock prefer HTTP bearer auth when configured #11562
  • MCP sampling for reasoning-first responses #11092
  • Keep recalled history agent-visible #11490
  • Fail closed on invalid default GCP credentials #11363
  • Bound handoff memo so long sessions stay resumable #11204
  • Goose unable to work with DeepSeek and Alibaba using OpenAI responses API #11298
  • Show tool inputs before approval #10932
  • Deduplicate enabled builtins #11340
  • Send explicit thinking disabled to adaptive Claude models #11177
  • Handle error code for context length exceeded #11283
  • Include required annotations field on replayed output_text items #11263
  • Isolate concurrent subagent notifications #10772
  • Validate recipe parameter values #11234
  • Re-enable minijinja builtins so documented recipe filters work #11310
Security Fixes
  • Enforce per-turn model tool allowlists #11426
  • Stop exposing provider secret suffixes #11476
  • Restrict code mode callback output #11471
  • Restrict app management tools #11470
  • Preserve local inference message text #11452
  • Preserve session extension identities #11420
  • Bound local image reads in developer extension #11419
  • Confine agent listing to source roots #11444

…

Thursday, August 27Aug 27, 2026

Release v1.48.0

Goose v1.48.0

✨ Features Providers TrustedRouter declarative provider #11422 OpenCode Zen gateway as a declarative provider #10939 Gondola as declarative OpenAI-compatible provider #11421 SayGM as declarative OpenAI-compatible provider #11267 Lynkr as a declarative…

Read full notes

✨ Features

Providers
  • TrustedRouter declarative provider #11422
  • OpenCode Zen gateway as a declarative provider #10939
  • Gondola as declarative OpenAI-compatible provider #11421
  • SayGM as declarative OpenAI-compatible provider #11267
  • Lynkr as a declarative OpenAI-compatible provider #11372
  • PleumRouter declarative provider #10479
  • Z.ai GLM-5.2 replaced with GLM-5.3 #11226
  • Custom provider cost fields drive cost tracking #11220
  • Model-native audio transcription provider #10589
  • OpenAI GPT-5.6 (sol/terra/luna) routing via AWS Bedrock #10502
  • GPT-5.6 follow-up support for Codex and Responses API #10460
Hooks
  • on_failure block for PreToolUse hooks #11449
  • PreToolUseResult event and stable tool_call_id across tool lifecycle #11120
Desktop & UI
  • Select saved recipes when creating a schedule #10892
  • Sort configured providers to the top of the provider list #11409
  • Collapse scheduled job sessions into accordion in chat history #11265
  • Auto-focus chat input when user starts typing #11184
  • Interactive git branch indicator in chat bottom bar #11290
  • Show recent used models in chat footer model picker #11097
CLI
  • --with-extension can now name its extension #11127
  • /new command to start a fresh session without restarting #10767
Skills & Extensions
  • Web-search and browser-use built-in skills #11233
  • Support pre-registered OAuth clients for streamable_http extensions #11182
ACP
  • Derive and forward thinking effort from the ACP harness #10949
  • Title new sessions from _meta.sessionTitle #10712
  • _goose/unstable/session/extensions/apply method #11081
Observability
  • OpenTelemetry request params, response metadata, tool call parity, and agent identification #11261
  • OpenRouter session_id forwarding and app category header #10868
Other
  • Blox run target for the ACP server #11423
  • Linux ARM64 desktop release packages #11518
  • Roaming as opt-in goose-cli feature #11516
  • MCP conformance tests in CI #10940

🐛 Bug Fixes

Security
  • Recognize Windows package runners #11466
  • Fail closed on malformed tool visibility #11474
  • Permission denies take precedence #11477
  • Clear custom provider transition secrets #11467
  • Require fresh file parameter input #11455
  • Escape OAuth callback content #11479
  • Sanitize Unicode tags in MCP prompts #11453
  • Honor plugin enablement for skills #11439
  • Honor MCP tool model visibility in Code Mode #11425
  • Suppress sensitive OTLP traces #11381
  • Fail closed on invalid default GCP credentials #11363
  • Bound call graph traversal #11193
  • Fail closed on invalid Codex ACP mode #11362
  • Validate memory categories #11191
  • Bound recursive mention scans #11228
  • Avoid predictable editor symlink #11188
  • Fail closed on malformed app visibility #11341
  • Encode session navigation parameters #11232
  • Redact URLs in provider errors #11230
  • Validate recipe parameter values #11234
  • Bind Foundry API keys to request origin #11347
Providers
  • Stop provider save from overwriting stored config with defaults #11517
  • Sanitize hidden Unicode in Bedrock tools #11121
  • Bound non-streaming JSON responses #11109
  • Inform user of clipboard copy and remove copilot auth retry on timeout #11160
  • Escape Gemini tool response ref keys in OpenRouter #11276
  • Estimate cost for Azure Foundry models via inferred catalog pricing #11264
  • Coalesce consecutive Thinking blocks in collect_stream #11317
  • Replace flat model list with routing table, add Gemma 4 Mantle support #10297
  • Include thinking tokens in Google usage output_tokens #10354
  • Send explicit thinking disabled to adaptive Claude models #11177
  • Include required annotations field on replayed output_text items #11263
  • Deprecated Gemini OAuth provider #11223
  • Stop paying the prompt-cache write premium on one-shot fast-model calls #11179
  • Classify byte-size request limit errors as context-length-exceeded #11173
  • Bound local image reads #11114
  • Map kimi_code provider name and pass correct provider to create_request #11130

…

Friday, August 21Aug 21, 2026

Release v1.47.0

Goose v1.47.0

✨ Features Interactive git branch indicator in chat bottom bar #11290 Support for pre-registered OAuth clients for streamable_http extensions #11182 Show recently used models in chat footer model picker #11097 🐛 Bug Fixes Isolate concurrent subagent…

Read full notes

✨ Features

  • Interactive git branch indicator in chat bottom bar #11290
  • Support for pre-registered OAuth clients for streamable_http extensions #11182
  • Show recently used models in chat footer model picker #11097

🐛 Bug Fixes

  • Isolate concurrent subagent notifications in summon #10772
  • Validate recipe parameter values #11234
  • Re-enable minijinja builtins so documented recipe filters work #11310
  • Send explicit thinking disabled to adaptive Claude models #11177
  • Handle error code for context length exceeded #11283
  • Include required annotations field on replayed output_text items #11263
  • Reject context commands for context-owning providers #11094
  • Prevent recipe parameter form from reloading the app on Enter #10522
  • Enforce secure token transport in OAuth #11183
  • Deprecate Gemini OAuth provider #11223
  • Stop paying the prompt-cache write premium on one-shot fast-model calls #11179
  • Skip local Stdio/StreamableHttp extension spawn when provider manages own context #11203
  • Navigation toggle showing hamburger menu icon to open navigation #11144
  • Return auth error for ACP provider from goose ACP server #11202
  • Ignore ACP provider generated title and use goose generated title #11197
  • Render visualizer data as text #11186
  • Bound XLSX range reads #11190
  • Update SQLite to 3.51.3 #11157
  • Classify byte-size request limit errors as context-length-exceeded #11173
  • Prevent large-session disconnects in ACP #11159
  • Narrow desktop file read IPC #11149
  • Avoid reading file params in recipe explain #11119
  • Bound local image reads #11114
  • Bound action-required stream admission #11113
  • Bound partial thinking tags #11108
  • Avoid following untracked review symlinks #10995
  • Bind deeplink recipe parameters to startup session #11123
  • Rename compare_tasks skill to a spec-valid name #11068
  • Suppress extension loading toast when all extensions succeed #11016

🔧 Improvements

  • Improve ACP provider setup and unify setup metadata #11100
  • Create goose-agent crate with unrolled agent loop state machine #11216
  • Make the unrolled loop state machine generic #11139
  • Retry ACP handoff context after failed prompts #10660
  • Remove automation_script, web_scrape, and cache tools from computercontroller #11198
  • Upgrade ACP SDK to 1.3.0 #11218
  • Pin V1 SDK and narrow ACP crate features #11289
  • Migrate session/delete to the standard ACP SDK #11286
  • Use rmcp ContentBlock in goose-sdk UniFFI #11210

Wednesday, August 12Aug 12, 2026

Release v1.46.0

Goose v1.46.0

✨ Features Unrolled agent loop #9574 Cache-safe request assembly with append-only turn context and declared cache semantics #11022 Streaming shell output while commands run #10808 Per-message usage stats UI (tokens, cost, TTFT, tok/s) #10210 Per-message…

Read full notes

✨ Features

  • Unrolled agent loop #9574
  • Cache-safe request assembly with append-only turn context and declared cache semantics #11022
  • Streaming shell output while commands run #10808
  • Per-message usage stats UI (tokens, cost, TTFT, tok/s) #10210
  • Per-message usage/cost tracking with derived session totals #10172
  • Track cache tokens for accurate cost reporting #9752
  • Markdown format option to session export #10703
  • Resizable sidebar with drag handle and persisted width #10795
  • Interactive menu for single select elicitations #10327
  • Session metadata on sidebar chat hover #10663
  • Configurable LOCAL_WHISPER_LANGUAGE for multilingual local transcription #10634
  • Allow disabling built-in skills #10600
  • Structured summary output with template rendering for compaction #10471
  • Pass working_dir to the Stop hook context #10296
  • Surface output-token-limit info #10831
  • Tab completion and switch provider for model command #10585
  • Collapse const-union enums in tool schemas #10577
  • GenAI semantic convention attributes for OTEL #10700
  • Enrich root span with gen_ai attributes and improve OTEL output format #10816
  • Forward images and MCP embedded-resource blobs in Anthropic and Google formats #10340
  • ACP session/new supports Hidden session via _meta.hidden #10811
  • Stable agent event message identity #10716
  • OAuth logo_uri in client ID metadata documents #10727
  • Termux detection in installer to select musl portable build #10568
  • Hooks feature with PreToolUse denial #9093, #9304
  • /goal command for agent self-evaluation before finishing #9069
  • /status slash command #9845
  • /model slash command to switch session model #8747
  • --edit session flag to edit conversation before forking #9799
  • goose review local code review command #9114
  • Open plugins generalization with skills support #9112
  • Summon extension: peek mode for async background tasks #9519
  • Summon extension: context and working_dir parameters for delegate tasks #9518, #9520
  • Load global hints from ~/.agents/AGENTS.md #9736
  • Proactive OAuth token refresh to avoid re-auth on every session #8386
  • GOOSE_OAUTH_CALLBACK_PORT for stable OAuth redirect_uri #9209
  • Unified thinking effort control across all providers #9242
  • Projects as backend sources with system prompt injection #8739
  • Group chat sessions by project in nav panel #10212
  • Collapsible project group headers in nav panel #10278
  • Worktree-aware directory switcher #8450
  • Chat history search feature in navigation panel #8448
  • Search filter to provider grid #10437
  • Option to disable automatic update downloads #9872
  • TUI diff viewer #9260
  • MAX_CODE_BLOCK_LINES configurable via env vars #9301
  • GOOSE_MAX_TOOL_RESPONSE_SIZE to configure tool output size limit #9256
  • GOOSE_FAST_MODEL env var in ModelConfig::with_fast #9296
  • GOOSE_DOCS_ROOT for air-gapped docs access #10294
  • Quarterly option for scheduler #9076
  • Harbor eval runner #9138
  • goose://new-session and goose://resume deep links #9196, #9343
  • Initial prompt with goose://new-session #9427
  • Encrypted Nostr session sharing #8922
  • Import sessions #9474
  • Hugging Face OAuth support with auth tab in settings #9552
  • MLX models support in local inference provider #9154
  • Linux Vulkan support for local inference #9038
  • Reconnect desktop ACP sessions after sleep and connection loss #10411
  • TLS support for ACP serve #10088
  • Group consecutive tool calls into one summarized chain card #8995
  • Bind MCP apps to trusted ownership metadata #10747
  • MCP extensions in open plugins #9471
  • Skills to the chat composer #8881
  • Dynamically refresh skill instructions each turn #9217
  • CLI to list skills with token counts #9326
  • Image read tool #9607
  • View model interactions #9806
  • UniFFI SDK for cross-language bindings #9593
  • Provider bindings MVP to goose-sdk with Python wheel publishing #10208
  • Kotlin FFI with build and Maven publish #10375

…

Wednesday, July 29Jul 29, 2026

Release v1.45.0

Goose v1.45.0

✨ Features Stable agent event message identity #10716 Tab completion and switch provider for model command #10585 Support latest Gemini models #10630 Configurable GOOSE_DOCS_ROOT for air-gapped docs access #10294 Structured summary output with template…

Read full notes

✨ Features

  • Stable agent event message identity #10716
  • Tab completion and switch provider for model command #10585
  • Support latest Gemini models #10630
  • Configurable GOOSE_DOCS_ROOT for air-gapped docs access #10294
  • Structured summary output with template rendering for compaction #10471
  • Allow disabling built-in skills #10600
  • Gate tool-call label enrichment on ACP client capability #10644

🐛 Bug Fixes

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

🔧 Improvements

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

Thursday, July 23Jul 23, 2026

Release v1.44.0

Goose v1.44.0

Security fixes Arbitrary command execution in goose CLI via goose review (via git core.fsmonitor config) - GHSA-r5pp-p5r8-466r (credit to @0xmagic0) ✨ Features Support for latest Gemini models #10630 Pass working_dir to the Stop hook context #10296 Declarative…

Read full notes

Security fixes

  • Arbitrary command execution in goose CLI via goose review (via git core.fsmonitor config) - GHSA-r5pp-p5r8-466r (credit to @0xmagic0)

✨ Features

  • Support for latest Gemini models #10630
  • Pass working_dir to the Stop hook context #10296
  • Declarative Sakana AI provider for OpenAI-compatible Fugu API #10357
  • Model interactions viewer restored #10205
  • Chunk command-classifier input with overlapping windows for security #10416
  • Search filter for provider grid #10437
  • Muse Spark 1.1 support via Meta Models API #10432
  • GPT-5.6 support #10384
  • Reconnect desktop ACP sessions after sleep and connection loss #10411
  • Per-message usage stats UI (tokens, cost, TTFT, tok/s) #10210
  • OllamaCloudProvider with dynamic model discovery and context limits #10264
  • Delete support for custom apps from Apps UI #10127
  • --edit session flag to edit conversation before forking #9799
  • iFlytek Spark and Astron MaaS providers #9837
  • Fireworks AI declarative provider #9990
  • OpenRouter request parameters support #9276
  • French, German, Italian, Portuguese, Indonesian, Malay, Vietnamese, zh-TW desktop locales #10072
  • MiniMax-M3 and missing M2.7 variants #10431

🐛 Bug Fixes

  • Preserve command arguments through extension forms #10527
  • Enforce manual approval for code mode #10528
  • Confine app file operations #10481
  • Preserve featured model size on delete and backfill missing sizes #10422
  • Preserve recursive schema types with pctx 0.4.1 #10572
  • Create inventory tables atomically with schema version #10586
  • Rewrite oneOf to anyOf in tool schemas for OpenAI-compatible backends #10571
  • Allow custom model as default for non-local providers #10438
  • Require absolute goose path roots #10454
  • Scope smart approval by request #10457
  • Preserve fixed subrecipe values #10452
  • Bundle git in Flatpak so hermit can clone its package registry #10511
  • Expose AGENT_SESSION_ID to shell commands #10428
  • Forward image content chunks to client during live session #10485
  • Dispatch Code Mode callbacks on main runtime to prevent hangs #10484
  • Protect OAuth token caches #10516
  • Preserve content audience boundaries #10493
  • Bound scheduled recipe validation #10509
  • Return JSON-RPC errors from dispatch handlers instead of killing connection #10499
  • Isolate prepare tools test state #10504
  • Avoid local inference Metal teardown crash #10508
  • Enable indexmap serde support for musl builds #10507
  • Scroll chat to latest reply on session resume #10501
  • Secure large response spill files #10482
  • Register LiteLLM with refresh_only inventory so model picker lists models #10489
  • Limit provider selector height in CLI #10420
  • Tighten existing secrets file permissions #10453
  • Classify image access capabilities #10451
  • Preserve one-time permission scope #10450
  • Register goose:// scheme handler in Flatpak desktop entry #10461
  • Reject duplicate recipe parameter keys #10448
  • Synchronously kill orphaned goose serve backends on GUI close #10292
  • Break self-referential $ref cycles before Code Mode schema #10469
  • Stop multiline paste auto-submitting line-by-line on Windows #10326
  • Hide nested config values in Configuration Editor #10390
  • Stop resolving TUI scripts from cwd #10449
  • Exclude MCP App tools from Code Mode callbacks #10290
  • Apply default extension timeout to developer shell tool calls #10348
  • Preserve reasoning_content for DeepSeek thinking mode on multi-turn tool calls #10366
  • Make prompt timestamps timezone-explicit #10209
  • Disable compaction during approval #10089
  • Restore pnpm 11 project configuration #10395
  • Treat empty-string finish_reason as non-terminal in streaming #10258
  • Fix Gemini OAuth onboarding #10363
  • Retry empty provider turns instead of stopping silently #10360
  • Guard llama.cpp backend init against SIGILL on x86_64 CPUs without FMA/AVX2 #10105
  • Sanitize responses function call names #10344
  • Pick session mode from the ids the agent actually offers #10320
  • Show manual-setup indicator for extensions without install link #10321
  • Dedupe duplicate signed thinking blocks to fix Anthropic 400 #10083

🔧 Improvements

…

Tuesday, July 14Jul 14, 2026

Release v1.43.0

Goose v1.43.0

✨ Features Reconnect desktop ACP sessions after sleep and connection loss #10411 Per-message usage stats UI (tokens, cost, TTFT, tok/s) #10210 Per-message usage/cost tracking with derived session totals #10172 Group chat sessions by project in nav panel #10212…

Read full notes

✨ Features

  • Reconnect desktop ACP sessions after sleep and connection loss #10411
  • Per-message usage stats UI (tokens, cost, TTFT, tok/s) #10210
  • Per-message usage/cost tracking with derived session totals #10172
  • Group chat sessions by project in nav panel #10212
  • Show project names in directory switcher dropdown #10207
  • OllamaCloudProvider with dynamic model discovery and context limits #10264
  • Delete support for custom apps from Apps UI #10127
  • --edit session flag to edit conversation before forking #9799
  • iFlytek Spark and Astron MaaS providers #9837
  • Fireworks AI declarative provider #9990
  • OpenRouter request parameters support #9276
  • OVHcloud Qwen3.6-27B model (262K context) #10339
  • GPT-5.6 family support #10349
  • GLM-5.2 support #9967
  • French, German, Italian, Portuguese, Indonesian, Malay, Vietnamese, and Traditional Chinese desktop locales #10072
  • Provider bindings MVP to goose-sdk with Python wheel publishing #10208
  • TLS support for ACP serve #10088
  • Streamable HTTP support in deeplink generator #9954

🐛 Bug Fixes

  • Exclude MCP App tools from Code Mode callbacks #10290
  • Preserve reasoning_content for DeepSeek thinking mode on multi-turn tool calls #10366
  • Compaction disabled during approval #10089
  • Treat empty-string finish_reason as non-terminal in streaming #10258
  • Gemini OAuth onboarding failure #10363
  • Retry empty provider turns instead of stopping silently #10360
  • Guard llama.cpp backend init against SIGILL on x86_64 CPUs without FMA/AVX2 #10105
  • Sanitize responses function call names #10344
  • Pick session mode from the IDs the agent actually offers #10320
  • Desktop ACP shell PATH #10336
  • Dedupe duplicate signed thinking blocks to fix Anthropic 400 #10083
  • Resolve provider default model instead of leaking sentinel "current" #10305
  • Return effective context limit from /model-info #10165
  • Gate rcgen aws_lc_rs feature behind rustls-tls #10116
  • Recover malformed tool calls from GLM/Minimax models instead of rejecting them #10230
  • Restore cursor when configure exits #10222
  • Skip scheduled sessions for implicit resume #10178
  • Sync slash help with builtins #10173
  • Treat unicode punctuation as image path terminators #10106
  • Don't bleed provider-specific request_params into delegate() sessions #9906
  • Purge empty phantom sessions on startup #9651
  • Include structuredContent from MCP tool response #10128
  • Propagate agent cleanup errors on session delete #10112
  • Tolerate partial Responses output items #10108
  • Always use OpenAI-compatible "parameters" for Databricks tools #10101
  • Unescape shell-escaped image paths #10098
  • Send inference config (max_tokens, temperature) on Bedrock Converse #9889
  • Dedupe Nostr session deep link imports #9918
  • Don't retry deterministically-permanent 400s (thinking-block immutability) #10005
  • Use async reqwest client so OTLP export works in goose serve mode #10100
  • Reject non-object tool-call arguments instead of panicking #9832
  • Save /edit prompts to history #10011
  • Buffer thinking across stream chunks for DeepSeek/Kimi tool calls #9704
  • Surface actionable errors for truncated tool-call arguments #9946
  • Show optimistic toggle state when disabling an extension #9882
  • Resolve databricks_v2 pricing and surface cost in standard usage update #9925
  • Activate hermit on macOS so STDIO extensions resolve node #9482
  • Prompt timestamps are now timezone-explicit #10209

🔧 Improvements

  • Apply the default extension timeout to developer shell tool calls #10348
  • Disable thinking preservation for Groq #10284
  • Bound code-mode execution with timeout and cancellation #10214
  • Keep turn-context out of the Anthropic prefix cache #10030
  • Disable extended thinking for fast-model operations #9815
  • Switch the local inference provider MLX backend to use the safemlx crate #10304
  • OpenAI Responses API store param configurable #10040
  • Support streamed tool calls without indexes #10023
  • Fail closed on unverifiable update provenance #10168
  • Migrate diagnostics to JSON report #9964
  • Route MCP elicitations through tool streams #9943
  • ACP migration for desktop UI #10081
  • Relabel settings 'Session' tab to 'External Backend' #10318

…

Monday, July 13Jul 13, 2026

Release v1.42.0

Goose v1.42.0

✨ Features OllamaCloudProvider with dynamic model discovery and context limits #10264 Per-message usage stats UI (tokens, cost, TTFT, tok/s) #10210 Per-message usage/cost tracking with derived session totals #10172 Group chat sessions by project in nav panel…

Read full notes

✨ Features

  • OllamaCloudProvider with dynamic model discovery and context limits #10264
  • Per-message usage stats UI (tokens, cost, TTFT, tok/s) #10210
  • Per-message usage/cost tracking with derived session totals #10172
  • Group chat sessions by project in nav panel #10212
  • Show project names in directory switcher dropdown #10207
  • Provider bindings MVP to goose-sdk with Python wheel publishing #10208
  • AskAI bot hints for followups #10291

🐛 Bug Fixes

  • Resolve provider default model instead of leaking sentinel "current" #10305
  • Return effective context limit from /model-info #10165
  • Recover malformed tool calls from GLM/Minimax models instead of rejecting them #10230
  • Restore cursor when configure exits #10222
  • Sync slash help with builtins #10173
  • Treat unicode punctuation as image path terminators #10106
  • Don't bleed provider-specific request_params into delegate() sessions #9906
  • Purge empty phantom sessions on startup #9651
  • Include structuredContent from MCP tool response #10128
  • Gate rcgen aws_lc_rs feature behind rustls-tls #10116

🔧 Improvements

  • Increase /mcp-app-guest body limit for larger single-file MCP apps #10324
  • Relabel settings 'Session' tab to 'External Backend' #10318
  • Switch local inference provider MLX backend to use the safemlx crate #10304
  • Disable thinking preservation for Groq #10284
  • Bound code-mode execution with timeout and cancellation #10214
  • Skip scheduled sessions for implicit resume #10178
  • Fail closed on unverifiable update provenance #10168
  • Update Rust toolchain and raise recursion limit #10303
  • Drop unsupported gpt-5.3-codex from chatgpt_codex provider #10271
  • Move Google provider into goose-providers #10216
  • Move Snowflake provider #10218
  • Move Databricks providers into goose-providers crate #10162
  • Move declarative definitions #10167

📚 Documentation

  • Clarify session --edit context retention #10257
  • Simplified the issue templates #10316
  • Remove stale crates/goose-server and update docs #10224

Friday, July 3Jul 3, 2026

Release v1.41.0

Goose v1.41.0

✨ Features iFlytek Spark and Astron MaaS providers (#9837) --edit session flag to edit conversation before forking (#9799) Fireworks AI declarative provider (#9990) OpenRouter request parameters support (#9276) French, German, Italian, Portuguese, Indonesian,…

Read full notes

✨ Features

  • iFlytek Spark and Astron MaaS providers (#9837)
  • --edit session flag to edit conversation before forking (#9799)
  • Fireworks AI declarative provider (#9990)
  • OpenRouter request parameters support (#9276)
  • French, German, Italian, Portuguese, Indonesian, Malay, Vietnamese, and Traditional Chinese desktop locales (#10072)
  • Spanish (es) locale support (#9833)
  • Korean localization for desktop app (#9856)
  • Japanese locale support (#9768)
  • Hindi desktop locale (#9733)
  • Language selection feature in desktop (#9405)
  • /status slash command in CLI (#9845)
  • Streamable HTTP support in deeplink generator (#9954)
  • GLM-5.2 model support (#9967)
  • Global hints loading from ~/.agents/AGENTS.md (#9736)
  • Azure Entra ID bearer token auth via AZURE_OPENAI_AD_TOKEN (#9716)
  • Together AI declarative provider (#9545)
  • OrcaRouter as declarative OpenAI-compatible provider (#9515)
  • EmpirioLabs AI declarative provider (#9771)
  • MLX model support for local inference provider (#9154)
  • Summon peek mode for async background tasks (#9519)
  • Summon context parameter for delegate tasks (#9518)
  • Summon working_dir override for delegate tasks (#9520)
  • Structured metadata for summon task load results (#9521)
  • TLS support for ACP serve (#10088)
  • OpenAI Responses API store param configurability (#10040)
  • Exposed available tools in ACP schema (#10097)
  • ACP thinking effort config option (#10711)
  • Last message snippets for ACP sessions (#9798)
  • OTLP logging schema for cross-tool detection (#9713)
  • Option to disable automatic update downloads (#9872)
  • Cache token tracking for accurate cost reporting (#9752)
  • Session import functionality (#9474)
  • 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 for session model switching (#8747)
  • Databricks AI Gateway provider (#9274)
  • Russian language support (#9406)
  • Turkish desktop locale (#9392)
  • NEAR AI Cloud provider (#9352)
  • Scaleway provider (#9254)
  • Harbor eval runner (#9138)
  • /goal command for agent self-evaluation before finishing (#9069)
  • Summon subagent instructions (#9325)
  • Open-plugins generalization + skills (#9112)
  • PreToolUse denial in hooks (#9304)
  • Optional api_key configuration for declarative openai-engine providers (#9202)
  • goose review local code review command (#9114)
  • TUI diff viewer (#9260)
  • Paginated session list in ACP (#9199)
  • Structured per-provider config block with non-destructive provider switching (#8977)
  • tui command on goose-cli (#9385)
  • Configurable MAX_CODE_BLOCK_LINES via env vars (#9301)
  • goose://resume session deep link (#9343)
  • GOOSE_FAST_MODEL env var support (#9296)
  • Vercel AI Gateway provider (#9144)
  • Quarterly option for scheduler (#9076)
  • Hooks feature (#9093)
  • Projects as backend sources with system prompt injection (#8739)
  • Worktree-aware directory switcher (#8450)
  • Chat history search feature (#8448)
  • Optional --parameters for scheduled recipes (#8741)
  • GitHub Copilot /responses API (#9043)
  • Unified thinking effort control across all providers (#9242)
  • Slash commands (built-in, skill, recipe) in ACP server (#9238)
  • Nushell terminal and completion support (#8628)
  • Simplified Chinese (zh-CN) translation (#8765)
  • 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)
  • goose://new-session deep link for fresh chat (#9196)
  • Routstr as declarative provider (#9175)
  • FuturMix provider (#8840)
  • oMLX declarative provider (#9177)
  • Declarative provider support in goose-providers crate (#9992)
  • ACP elicitation improvements (#9797)
  • Image read tool (#9607)
  • gpt-5.5 model support for ChatGPT Codex provider (#9292)

🐛 Bug Fixes

  • Canonical model output paths (#10196)
  • ACP agent cleanup errors propagation on session delete (#10112)
  • claude-sonnet-5 added to canonical model registry (#10183)
  • MCP-app-guest request body limit increased (#10180)
  • Tolerate partial Responses output items (#10108)
  • Databricks tool parameters for OpenAI compatibility (#10101)
  • Unescape shell-escaped image paths (#10098)
  • Desktop Mac auto-update config seeding (#10132)
  • /edit prompts saved to history (#10011)
  • Schedule sessions listing using session.message_count (#10026)
  • Session store sync after provider/model update and thinking effort update (#10060)
  • Fallback REST API call removed in ACP mode for edit in place (#10034)
  • Don't retry deterministically-permanent 400s (thinking-block immutability) (#10005)
  • Async reqwest client for OTLP export in goose serve mode (#10100)
  • Reject non-object tool-call arguments instead of panicking (#9832)
  • Databricks pricing resolution and cost surfacing (#9925)
  • Removed unused SubagentStart/SubagentStop hook events (#9960)
  • Recipe modal closes when canceling parameter form (#9195)
  • Tool request timestamp precedes tool response timestamp (#9462)
  • Activate hermit on macOS so STDIO extensions resolve node (#9482)
  • Auto-visualiser JSON-encoded string handling (#9838)
  • User-Agent sent on URL image fetches (#9927)
  • Do not pass temperature to ChatGPT Codex provider (#9931)
  • Nostr session deep link import deduplication (#9918)
  • Provider refresh when session working directory changes (#9883)
  • GCP refreshed gcloud token after reauth (retry Vertex AI on 401/403) (#9849)
  • Start a turn when /goal or /grind is set (#9801)
  • Handle resume deep links (#9298)
  • PATH repair for plugin hook commands (#9615)
  • Cmd/Ctrl+T new chat shortcut restored (#9614)
  • Mention menu icon opens sidebar (#9643)
  • Dedupe React to prevent multiple instances in renderer (#9631)
  • Hermit cleanup added to uvx and jbang scripts (#9616)
  • Blocking OTLP HTTP exporter (#9599)
  • Fall back to default provider when resuming session with unavailable provider (#9547)
  • Tokio runtime provided for OTLP HTTP exporter batch thread (#9541)
  • OpenAI meta.n_ctx read from /v1/models for local server context limit (#9530)
  • Session history scrollbar aligned with window edge (#9601)
  • Session name refresh in sidebar after rename (#9543)
  • Resolved skill supporting file paths shown (#9584)
  • Bedrock real streaming via ConverseStream API (#9579)
  • OpenAI-native cached_tokens recorded in usage metering (#9829)
  • Moonshot provider API URL override option (#9819)
  • Image paths with spaces detected (#9387)
  • New chat shortcut navigation restored (#9528)
  • Stale completed tasks evicted in summon (#9514)
  • OAuth callback timeout in WSL instead of hanging (#9536)
  • Unmatched extension names warning in delegate (#9513)
  • Elicitation decline and cancel actions propagated end-to-end (#9437)
  • Bedrock inference config (max_tokens, temperature) sent on Converse (#9889)
  • Optimistic toggle state shown when disabling an extension (#9882)
  • Windows backslash paths preserved in custom extension command (#9741)
  • ACP cancel race condition fixed (#9804)
  • Removed window goosed when closing window (#9818)
  • Context exceeded checker made more precise (#9831)
  • Login-shell PATH inherited in spawned subagents (#9737)
  • String values accepted for GOOSE_CONTEXT_LIMIT (#9738)
  • Rejected OAuth credentials cleared after refresh (#9694)
  • Extended thinking kept within Anthropic output cap (#9814)
  • RPM build-id links disabled (#9671)
  • Custom API path preserved in OpenAI base_url derivation (#9649)
  • Bedrock ValidationException classified as ExecutionError (#9735)

…

Thursday, July 2Jul 2, 2026

Release v1.40.0

Goose v1.40.0

✨ Features Language selection in desktop app #9405 French, German, Italian, Portuguese, Indonesian, Malay, Vietnamese, Traditional Chinese desktop locales #10072 Korean localization for desktop app #9856 Japanese locale support #9768 Spanish (es) locale…

Read full notes

✨ Features

  • Language selection in desktop app #9405
  • French, German, Italian, Portuguese, Indonesian, Malay, Vietnamese, Traditional Chinese desktop locales #10072
  • Korean localization for desktop app #9856
  • Japanese locale support #9768
  • Spanish (es) locale support #9833
  • Hindi desktop locale #9733
  • /status slash command in CLI #9845
  • /model slash command for session model switching #8747
  • /goal command for agent self-evaluation before finishing #9069
  • goose review local code review command #9114
  • Peek mode for async background tasks in summon #9519
  • Context parameter and working_dir override for delegate tasks #9518 #9520
  • GLM-5.2 support #9967
  • Together AI declarative provider #9545
  • EmpirioLabs as declarative OpenAI-compatible provider #9771
  • OrcaRouter as declarative OpenAI-compatible provider #9515
  • NEAR AI Cloud provider #9352
  • Perplexity as declarative OpenAI-compatible provider #9324
  • Alibaba (Qwen via DashScope) declarative provider #9443
  • Databricks AI Gateway provider #9274
  • Scaleway provider #9254
  • Vercel AI Gateway #9144
  • xAI SuperGrok OAuth subscription provider #9420
  • OpenAI GPT models via AWS Bedrock mantle endpoint #9707
  • Azure Entra ID bearer token auth via AZURE_OPENAI_AD_TOKEN #9716
  • MLX models support for local inference provider #9154
  • Streamable HTTP support for deeplink generator #9954
  • Global hints loading from ~/.agents/AGENTS.md #9736
  • Unified thinking effort control across all providers #9242
  • Canonical thinking modes #9743
  • Hooks system for extensibility #9093
  • PreToolUse denial in hooks #9304
  • Honor blocking Stop hook decisions #9468
  • Option to disable automatic update downloads #9872
  • Track cache tokens for accurate cost reporting #9752
  • Configurable tool output size limit via GOOSE_MAX_TOOL_RESPONSE_SIZE #9256
  • Configurable MAX_CODE_BLOCK_LINES via env vars #9301
  • GOOSE_FAST_MODEL env var support #9296
  • Hugging Face OAuth support with auth tab in settings #9552
  • Chat history search in navigation panel #8448
  • Import sessions #9474
  • View model interactions #9806
  • View JSON content #9678
  • Image read tool #9607
  • goose://new-session deep link #9196
  • goose://resume session deep link #9343
  • Initial prompt with goose://new-session #9427
  • MCP extensions support in open plugins #9471
  • Nushell terminal and completion support #8628
  • TUI command on goose-cli #9385
  • TUI diff viewer #9260
  • Unified OTLP logging schema for cross-tool detection #9713
  • Prompt injection mitigation enabled by default for internal users #9612
  • Encrypted Nostr session sharing #8922
  • Quarterly option for scheduler #9076
  • Optional --parameters for scheduled recipes #8741
  • Worktree-aware directory switcher #8450
  • Harbor eval runner #9138
  • Linux musl CLI builds #9240

🐛 Bug Fixes

  • Mac auto-update config seeding #10132
  • Use async reqwest client so OTLP export works in goose serve mode #10100
  • Reject non-object tool-call arguments instead of panicking #9832
  • Save /edit prompts to history #10011
  • Use session.message_count for schedule sessions listing #10026
  • Sync session store after provider and model update #10060
  • Buffer thinking across stream chunks for DeepSeek/Kimi tool calls #9704
  • Surface actionable errors for truncated tool-call arguments #9946
  • Show optimistic toggle state when disabling an extension #9882
  • Do not pass temperature to ChatGPT Codex provider #9931
  • Resolve databricks_v2 pricing and surface cost in standard usage update #9925
  • Activate hermit on macOS so STDIO extensions resolve node #9482
  • Autovisualiser: accept JSON-encoded string for the data parameter #9838
  • Developer/read_image: send a User-Agent on URL image fetches #9927
  • Start a turn when /goal or /grind is set #9801
  • Pass thinking config to Bedrock Anthropic models #9794

…

Thursday, June 25Jun 25, 2026

Release v1.39.0

Goose v1.39.0

✨ Features ACP method for managing recipes and UI changes #9951 Use ACP to manage global config and session extensions #9948 Recipe handling in new_session #9935 /status slash command in CLI #9845 ACP new session on desktop (non-recipe sessions) #9914 Typed…

Read full notes

✨ Features

  • ACP method for managing recipes and UI changes #9951
  • Use ACP to manage global config and session extensions #9948
  • Recipe handling in new_session #9935
  • /status slash command in CLI #9845
  • ACP new session on desktop (non-recipe sessions) #9914
  • Typed request/response for add, get session extensions in ACP #9890
  • Option to disable automatic update downloads #9872
  • Change cwd using ACP and refactor extension in bottom menubar #9887
  • Track cache tokens for accurate cost reporting #9752
  • Load session using ACP #9875
  • View model interactions #9806
  • Support OpenAI GPT models via AWS Bedrock mantle endpoint #9707
  • Peek mode for async background tasks in summon #9519
  • Korean localization for desktop app #9856
  • Chat reply UI with ACP #9857
  • Durable ACP chat session state for desktop UI #9852
  • ACP for desktop chat prompt (feature toggle off) #9802
  • MCP extensions support in open plugins #9471
  • Initial prompt with goose://new-session deep link #9427
  • Configurable Open Model Gym output dir #9789
  • Spanish (es) locale support #9833
  • EmpirioLabs as a declarative OpenAI-compatible provider #9771
  • MLX models support for local inference provider #9154
  • Elicitation method for ACP with improvements #9797
  • View JSON #9678
  • Load global hints from ~/.agents/AGENTS.md #9736
  • Configurable per-agent timeout (GYM_AGENT_TIMEOUT) #9791
  • Azure Entra ID bearer token auth via AZURE_OPENAI_AD_TOKEN #9716
  • _meta.conversationBefore for ACP forking session #9821
  • Quarterly option for scheduler #9076
  • Together AI declarative provider #9545
  • Image read tool #9607
  • Context parameter for summon delegate tasks #9518
  • Structured metadata for summon task load results #9521
  • Working_dir override for summon delegate tasks #9520
  • OrcaRouter as a declarative OpenAI-compatible provider #9515
  • Elicitation decline and cancel actions propagation #9437
  • ACP opt-in last message snippets #9798
  • Japanese locale support #9768
  • Unified OTLP logging schema for cross-tool detection #9713
  • Canonical thinking modes #9743
  • Hindi Desktop locale #9733
  • Custom ACP method to get session info #9729
  • GOOSE_SERVER__SECRET_KEY support at goose serve ACP endpoint #9726
  • Surface Anthropic stream refusals as visible errors #9724
  • ACP search session in Desktop #9717
  • Steering messages with ACP #9560
  • ACP list session with keyword and type filter #9695
  • ACP thinking effort config option #9711
  • Prompt injection mitigation enabled by default for internal users #9612
  • ACP list sessions and manage sessions in Desktop #9687
  • 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
  • Import sessions #9474
  • xAI SuperGrok OAuth subscription provider #9420
  • 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 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
  • Language selection feature #9405
  • Handle resume deep links #9298

🐛 Bug Fixes

  • Publish mac updater metadata #9945
  • Activate hermit on macOS so STDIO extensions resolve node #9482
  • Accept JSON-encoded string for autovisualiser data parameter #9838
  • Send User-Agent on URL image fetches in developer/read_image #9927

…

Wednesday, June 17Jun 17, 2026

Release v1.38.0

Goose v1.38.0

✨ 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…

Read full notes

✨ 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 review local 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

…

Wednesday, June 3Jun 3, 2026

Release v1.37.0

Goose v1.37.0

✨ 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…

Read full notes

✨ 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

…

Wednesday, May 27May 27, 2026

Release v1.36.0

Goose v1.36.0

✨ Features TUI command on goose-cli #9385 TUI diff viewer #9260 goose review local code review command #9114 /goal command for agent self-evaluation before finishing #9069 Hooks system for PreToolUse denial and extensibility #9093, #9304 Slash commands…

Read full notes

✨ Features

  • TUI command on goose-cli #9385
  • TUI diff viewer #9260
  • goose review local code review command #9114
  • /goal command for agent self-evaluation before finishing #9069
  • Hooks system for PreToolUse denial and extensibility #9093, #9304
  • Slash commands (built-in, skill, recipe) in ACP server #9238
  • Open-plugins generalization + skills #9112
  • Summon subagent instructions #9325
  • Unified thinking effort control across all providers #9242
  • NEAR AI Cloud provider #9352
  • Scaleway provider #9254
  • Vercel AI Gateway provider #9144
  • Atomic Chat declarative OpenAI-compatible provider #9210
  • Routstr declarative provider #9175
  • FuturMix provider #8840
  • oMLX declarative provider #9177
  • Harbor eval runner #9138
  • goose://resume and goose://new-session deep links #9343, #9196
  • MAX_CODE_BLOCK_LINES configurable via env vars #9301
  • Honor GOOSE_FAST_MODEL env var in ModelConfig #9296
  • GPT-5.5 in known models #9292
  • Paginate ACP session list #9199
  • Pass session cwd param to ACP providers #9229
  • Opt-in to Vercel AI gateway leaderboard #9259
  • GOOSE_OAUTH_CALLBACK_PORT for stable OAuth redirect_uri #9209
  • Proactive OAuth token refresh to avoid re-auth on every session #8386
  • Strip chain-of-thought markers from custom provider output #8635
  • Encrypted Nostr session sharing #8922
  • Simplified Chinese (zh-CN) translation #8765
  • Russian language support #9406
  • Turkish desktop locale #9392
  • Nushell terminal and completion support #8628
  • Optional --parameters flag for scheduled recipes #8741
  • Quarterly option for scheduler #9076
  • GitHub Copilot /responses API support #9043
  • Worktree-aware directory switcher #8450
  • Chat history search feature #8448
  • Projects as backend sources with system prompt injection #8739
  • Linux Vulkan support for local inference #9038
  • Linux musl CLI builds #9240
  • Windows CUDA release artifacts #8750
  • GOOSE_DISABLE_TOOL_CALL_SUMMARY env var #8947

🐛 Bug Fixes

  • Tolerate missing responses output #9449
  • Stop 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
  • 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
  • Use context limit from /model/info for LiteLLM custom models #9303
  • Plain > prompt instead of goose emoji in CLI #9305
  • Stop killing goosed when a window closes #9302
  • Emit trace_output as span attribute instead of event #9255
  • Check file fallback when keyring has no entry #9279
  • 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
  • Flush OTLP traces reliably on exit with configurable timeout #9228
  • 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
  • Resolve Azure CLI on Windows by using az.cmd #9215
  • Handle non-interactive terminal in goose configure on Windows #9214
  • Persist accumulated cost in session DB to survive reload #9191
  • Prevent tool-use marker leakage in toolshim output #8310
  • Re-apply canonical limits when delegate overrides model #9183

…

Friday, May 22May 22, 2026

Release v1.35.0

Goose v1.35.0

✨ Features Hooks system for extensible pre/post tool execution #9093 PreToolUse denial hook support #9304 /goal command for agent self-evaluation before finishing #9069 goose review local code review command #9114 Diff viewer in TUI #9260 Slash commands…

Read full notes

✨ Features

  • Hooks system for extensible pre/post tool execution #9093
  • PreToolUse denial hook support #9304
  • /goal command for agent self-evaluation before finishing #9069
  • goose review local code review command #9114
  • Diff viewer in TUI #9260
  • Slash commands (built-in, skill, recipe) in ACP server #9238
  • Unified thinking effort control across all providers #9242
  • Open-plugins generalization + skills #9112
  • Summon subagent instructions #9325
  • Proactive OAuth token refresh to avoid re-auth on every session #8386
  • goose://new-session deep link to open fresh chat #9196
  • GOOSE_OAUTH_CALLBACK_PORT for stable OAuth redirect_uri #9209
  • Paginated session list in ACP #9199
  • Pass session cwd param to ACP providers #9229
  • Opt-in to Vercel AI Gateway leaderboard #9259
  • Optional --parameters for scheduled recipes #8741
  • Quarterly scheduling option #9076
  • Recipe discovery/execution in ACP server #8925
  • Projects as backend sources with system prompt injection #8739
  • Worktree-aware directory switcher #8450
  • Chat history search in navigation panel #8448
  • Encrypted Nostr session sharing #8922
  • Nushell terminal and completion support #8628
  • Simplified Chinese (zh-CN) translation #8765
  • Strip chain-of-thought markers from custom provider output #8635
  • GOOSE_DISABLE_TOOL_CALL_SUMMARY to opt out of per-tool-call summaries #8947
  • Group consecutive tool calls into one summarized chain card #8995
  • Vercel AI Gateway provider #9144
  • GitHub Copilot /responses API #9043
  • Agents CRUD operations #9084
  • ACP streamable HTTP spec compliance #9034
  • GPT-5.5 added to known models #9292
  • Linux musl CLI builds #9240
  • Linux Vulkan support for local inference #9038
  • Windows CUDA release artifacts #8750
New Providers

🐛 Bug Fixes

  • Databricks parallel tool image responses don't interleave tool results #9241
  • Stop killing goosed when a window closes #9302
  • Eliminate cross-window deep link contamination #9273
  • Check file fallback when keyring has no entry #9279
  • Activate custom provider after adding via configure #9213
  • Use current_exe() instead of PATH lookup when spawning goose #9236
  • Set TCP_USER_TIMEOUT on streamable HTTP clients #9207
  • Reduce excessive MISSING_TRANSLATION warnings for fallback locales #9294
  • Zero out cost for local providers (ollama, local) #9219
  • Persist accumulated cost in session DB to survive reload #9191
  • Prevent tool-use marker leakage in toolshim output #8310
  • Re-apply canonical limits when delegate overrides model #9183
  • Use plain '> ' prompt instead of goose emoji in CLI #9305
  • Flag for login shell PATH #9313
  • Enable VT processing on Windows Console Host #9248
  • Resolve Azure CLI on Windows by using az.cmd #9215
  • Handle non-interactive terminal in goose configure on Windows #9214
  • Emit trace_output as span attribute instead of event #9255
  • Flush OTLP traces reliably on exit with configurable timeout #9228
  • Telegram gateway error reporting and connection reliability #9223
  • ScheduleModal error message styling #9278
  • Align sidebar hamburger in macOS fullscreen #9257
  • Coalesce streaming Thinking deltas + list available tools on not-found #9162
  • Honor Retry-After on 429 responses #9161
  • Replace Venice custom provider with declarative config #9234
  • Use mkdir -p for self-test workspace initialization #9247
  • 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

…

Friday, May 15May 15, 2026

Release v1.34.1

Goose v1.34.1

🔧 Improvements Build non-vulkan linux variants using ubuntu 22.04 #9211

Read full notes

🔧 Improvements

  • Build non-vulkan linux variants using ubuntu 22.04 #9211

Wednesday, May 13May 13, 2026

Release v1.34.0

Goose v1.34.0

✨ Features Hooks support for customizable agent behavior #9093 Agents CRUD operations #9084 Projects as backend sources with system prompt injection #8739 Auto-updating for plugins #9061 Linux Vulkan support for local inference #9038 ACP streamable HTTP spec…

Read full notes

✨ Features

  • Hooks support for customizable agent behavior #9093
  • Agents CRUD operations #9084
  • Projects as backend sources with system prompt injection #8739
  • Auto-updating for plugins #9061
  • Linux Vulkan support for local inference #9038
  • ACP streamable HTTP spec compliance #9034
  • Expose built-in skills through sources list ACP calls #9045
  • Provider-first onboarding flow #9039
  • 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
  • goose2 support for custom providers in UI & ACP #8924
  • Configurable Ollama host in goose2 #8912
  • Update provider row after saving credentials #8914
  • Google model inventory refresh support #8913
  • Skills in the chat composer #8881
  • Mergeable configs #8378
  • MCP Apps: hydrate and replay app payloads in goose2 #8632
  • MCP Apps: translate ACP host capabilities into MCP initialization #8623
  • Windows CUDA release artifacts #8750
  • goose2 compact settings modal headers #8950
  • goose-tui binary #9089

🐛 Bug Fixes

  • 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
  • Revert unexpected change from ui/goose2 work #9098
  • Require extension_name on read_resource #8989
  • Queued message lost when clicking send 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
  • Use python3 in developer extension instructions for macOS/Linux compatibility #8784
  • Synchronously reap ACP child to avoid SIGCHLD race #9023
  • goose2 small-window chat and settings layouts #9019
  • Elicitation fixes #8999
  • SACP notifies clients of generated session names #8983
  • 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
  • Copy and content improvements in goose2 #8886
  • Model picker stays usable during provider loading #8900
  • Handle ACP requests concurrently #8781
  • CRT linkage in Windows CUDA build #8987
  • Exclude preprompt from session title generation #8793
  • Prevent login-shell PATH probe from suspending goose on startup #8804
  • Remove defaults yaml #8854

🔧 Improvements

  • Keep thread tables + column #9156
  • Refactor local inference around backends #9137
  • Remove threads layer, use sessions directly for ACP #9078
  • Install plugins to ~/.agents/plugins #9088
  • Switch to official new rust-sdk for ACP #9062
  • Remove attachment preamble in goose2 #9052
  • goose2 UI state refactor (part 1) #9049
  • Clean up types #9057
  • Use native arm64 runners for Linux artifact builds #9075
  • Redesign Extensions page, remove enable toggle, treat Extension Manager as core MCP enabler per session #8940
  • Extensions page styling alignment #9003
  • 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 #8949
  • Render MCP apps inline in goose2 #8877
  • Remove skill categories #9008
  • goose2 distribution bundling #8911
  • goose2 used ACP session id #8985
  • Clean up goose2 settings headers #8951
  • Break up acp/server.rs #8932
  • goose2 skill refactor #8897
  • Update patterns for pattern-based command injection #8546

…

Wednesday, April 29Apr 29, 2026

Release v1.33.1

Goose v1.33.1

🐛 Bug Fixes Remove Windows CUDA build variant from release pipeline #8895 Windows CLI updates now use standard asset instead of CUDA variant #8895

Read full notes

🐛 Bug Fixes

  • Remove Windows CUDA build variant from release pipeline #8895
  • Windows CLI updates now use standard asset instead of CUDA variant #8895

Thursday, April 23Apr 23, 2026

Release v1.32.0

Goose v1.32.0

✨ Features Exa AI-powered search tool #8487 Desktop notification when goose finishes a task #8647 @agent mention support in chat #8571 /skills command #8600 Associate threads with projects #8745 Auto-compaction for goose2 context window UX #8721 Message bubble…

Read full notes

✨ Features

  • Exa AI-powered search tool #8487
  • Desktop notification when goose finishes a task #8647
  • @agent mention support in chat #8571
  • /skills command #8600
  • Associate threads with projects #8745
  • Auto-compaction for goose2 context window UX #8721
  • Message bubble + action tray in goose2 #8720
  • Voice dictation via direct-ACP pattern in goose2 #8609
  • Context window usage in goose2 chat input #8613
  • Unix domain socket transport for StreamableHttp MCP #7860
  • Cash App extension in Extensions Library #8622
  • /edit command for on-demand prompt editing #8566
  • Novita AI as declarative provider #8432
  • Kimi Code provider with OAuth device flow authentication #8466
  • Extension management screen in TUI #8536
  • Extensions settings page and context panel widget #8540
  • Client ID Metadata Document (CIMD) support for OAuth #8550
  • Context window usage inline in status bar #7607
  • Chat attachments in goose2 #8534
  • Husky git hooks for ui/goose2 #8577

🐛 Bug Fixes

  • Cache TLS cert to disk to avoid slow startup on first launch #8174
  • Preprompt would show after loading session #8744
  • Handle missing delta field in streaming chunks #8700
  • Accept streaming chunks with both reasoning fields in OpenAI provider #8715
  • strict:false for Responses API tools and gpt-5.4 to known models #8636
  • Correct grammar in apps view description #8679
  • Links in chat could not be opened #8544
  • Run shell tool under bash/sh regardless of login shell #8659
  • Append /chat/completions for prefixed v1 base URLs #8521
  • Align Kimicode model metadata with live Kimi Code API #8588
  • Stop idle 300ms re-render loop that could OOM the TUI #8616
  • Chat loading-state model placeholder #8431
  • Expand tool calls by default when Response Style is Detailed #8478
  • Create logs dir before writing LLM request log #8522
  • Enable token usage tracking and configurable stream timeout for Ollama provider #8493
  • Use sqlx chrono decode for thread timestamps instead of manual parsing #8575
  • Remove double border on content in chat #8545
  • Accept self-signed certs from configured external goosed host #8400
  • Sync sidebar sessions after chat history deletion #7707
  • Prevent session hang when tool approval required in headless mode #7915
  • Eliminate ~5s delay when opening Switch Models panel with local provider #8626
  • Removed hardcoded dependency of goose-acp-macro #8753
  • Stop load openai fast model for openapi compatible custom endpoint #8644

🔧 Improvements

  • Split agent setup into staged phases to reduce startup blocking #8746
  • Extensions management migrated to ACP+ #8733
  • Harden code review skill for async state and default-resolution bugs #8740
  • Persist and reliably apply chat model selection #8734
  • Overhaul provider inventory and agent/model selection #8652
  • Consolidate provider ACP methods onto inventory #8710
  • Manage skills as sources over ACP #8675
  • Extract shared OAuth device-flow helper #8619
  • Full width assistant message in goose2 #8760
  • TUI improvements #8736
  • Goose2 agent management flows #8737
  • Sidebar polish: search copy, dividers, project reorder, DnD fixes #8568
  • Sidebar activity indicators, placeholder token, and search field refinements #8606
  • Warm shell PATH lookup during session init #8631
  • Gate perf logs and dedup build_config_update on first message #8627
  • Use default fallback provider and model if default are set #8650
  • Show individual untracked files in git changes widget #8574
  • Goose2 session working dir #8624
  • Update rmcp to 1.5.0 #8618
  • Merge goose-acp crate into goose #8726
  • Upgrade goose SDK and TUI to be compatible with the latest agentclientprotocol/sdk package #8667
  • Declare and enforce MSRV of 1.91.1 #8670
  • Pass globally unique conversation identifier as sessionId in Databricks API call #8576
  • Move agent skills to repo root for tool discoverability #8535
  • Reset ChatGPT Codex auth during OAuth setup #8569
  • Isolate gym scenario Cargo projects from parent workspace #8640

📚 Documentation

  • AGENTS.md section on goose2 desktop backend architecture #8732
  • Rendex MCP Server extension tutorial #8541

…

Monday, April 20Apr 20, 2026

Friday, April 17Apr 17, 2026

Wednesday, April 8Apr 8, 2026

Release v1.30.0

Goose v1.30.0

🪿 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) Improved message rendering — better ordering,…

Read full 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)
  • Improved message rendering — better ordering, streaming/scrolling, and overall visual polish for messages, tool calls, and text entry (#8144, #8156, #8214)
  • Independent --text mode — text mode is now decoupled from the normal TUI for a cleaner headless experience (#8210)
  • goose serve — new subcommand to run Goose as a background service (#8209)
🔌 Providers & Models
  • Gemini OAuth provider — first-class OAuth-based authentication for Google Gemini (#8129)
  • Copilot ACP provider — new provider for GitHub Copilot via ACP (#8154)
  • Zhipu declarative provider — adds Zhipu AI with configurable ZHIPU_BASE_URL override (#8204)
  • Configurable fast_model for declarative providers — lets you specify a lightweight model for quick tasks (#8194)
  • Gemma 4 local model support — enable Gemma 4 as a local model option (#8366)
  • VMware Tanzu Platform provider improvements — bug fixes, streaming support, and UI enhancements (#8126)
🛡️ Security & Observability
  • Egress logging inspector — new security feature to log and inspect outbound network calls (#8149)
  • Restricted secrets file permissions — secrets files are now created with tighter OS-level permissions (#8118)
🧩 Extensions & Skills
  • Show installed skills in UI — skills are now visible and browsable from the desktop app (#7910)
  • Skills platform extension — skills are now managed as a dedicated platform extension (#8377)
  • Recursively discover nested skills — skills under configured roots are now found at any depth (#8082)
  • Configurable extension timeouts — set timeouts per-extension via ACP _meta or a global default (#8295)
  • Reusable ACP provider controls — shared UI components for ACP provider configuration (#8314)
  • Rust ACP client for extension methods (#8227)
  • Developer MCP server enhancements (#7770)
🌐 Internationalization
  • i18n infrastructure — added react-intl based internationalization framework to the desktop app (#8105)
🩺 Diagnostics
  • goose doctor — new command to diagnose common configuration and environment issues (#8342)
⚙️ Configuration
  • GOOSE_SHOW_FULL_OUTPUT — new config option to disable tool output truncation (#7919)
  • GOOSE_CLI_SHOW_THINKING — can now be set in config.yaml (not just env vars) (#8097)
  • GOOSE_CONTEXT_LIMIT — now readable from config.yaml (#7900)
  • GOOSE_DISABLE_KEYRING — now honoured from config.yaml at startup (#8219)
  • Per-delegate max_turns override (#8066)
  • skip_canonical_filtering for declarative providers (#8052)
🏗️ Build & Packaging
  • Optional native-tls support — alternative to rustls for environments that need system TLS (#8037)
  • Feature-gated AWS provider dependencies — behind aws-providers feature flag for leaner builds (#8080)
  • Feature-gated telemetry — telemetry is now behind Cargo feature flags (#8119)
  • Inference Mesh settings tab (#8094)

🐛 Bug Fixes

Providers
  • Fix user message text silently dropped when message contains both text and image (#8071)
  • Send empty object instead of null for Bedrock tool input (#8121)
  • Fall back to configured models when the models endpoint fetch fails (#7530)
  • Prevent Ollama provider from hanging on tool-calling requests (#7723)
  • Increase Ollama retry config + add transient-only retry mode (#7677)
  • Use safely_parse_json for OpenAI streaming tool arguments (#8208)
  • Use v1beta1 API version for Google/MaaS models on GCP Vertex AI (#8278)
  • Use build_host_url for GCP Vertex AI location fallback (#8185)
  • Parse nested usage payloads in LiteLLM (#8081)
  • Prioritize predefined model context_limit over canonical registry (#7888)
  • Always pass --model to cursor-agent CLI (#8106)
  • Fix models not shown in "Choose Model" modal after OAuth configuration completes (#7891)
  • Allow connecting to OAuth servers using protected-resource fallback instead of WWW-Authenticate header (#8148)
Desktop App
  • Fix "View as Markdown" feature not working (#8160)
  • Fix desktop slash commands (#8341)
  • Fix GitHub Copilot auth fails to open browser in Desktop app (#8019)
  • Hide hidden extensions in UI (#8346)
  • Return raw text when chat parse error occurs (#8402)
  • Fix Gemini ACP without an unexpected terminal window (#8101)
  • Replace any

…

Friday, April 3Apr 3, 2026

Release v1.29.1

Goose v1.29.1

🐛 Bug Fixes macOS Intel code signing #8218

Read full notes

🐛 Bug Fixes

  • macOS Intel code signing #8218

Tuesday, March 31Mar 31, 2026

Release v1.29.0

Goose v1.29.0

✨ Features Ability to manage sub recipes in desktop UI #6360 Display delegate sub agents logs in UI #7519 Pass toolInfo to MCP Apps via hostContext #7506 Ability to expand sidebar to see chat names #7816 Sigstore/SLSA provenance verification for Rust…

Read full notes

✨ Features

  • Ability to manage sub recipes in desktop UI #6360
  • Display delegate sub agents logs in UI #7519
  • Pass toolInfo to MCP Apps via hostContext #7506
  • Ability to expand sidebar to see chat names #7816
  • Sigstore/SLSA provenance verification for Rust self-update #7818
  • GOOSE_SHELL env var to configure preferred shell #7909
  • CodeMode ToolDisclosure variants support #7926
  • Feature-gate local inference dependencies #7976
  • ACP session/set_config and stabilize list, delete and close #7984
  • Gemini-ACP provider with subscription models support #8000
  • Orchestration support #7999
  • Upgrade ink for performance, use stdio instead of http #8004
  • Filter tools by MCP Apps visibility metadata #8022

🐛 Bug Fixes

  • Empty tool results from resource content (e.g. auto visualiser) #7866
  • Clean up OAuth token cache on provider deletion #7908
  • SSE parsers to accept optional space after data: prefix #7929
  • Hard-coded tool call id in code mode callback #7939
  • Config for GOOSE_MAX_BACKGROUND_TASKS #7940
  • Unregister goosed child process's listener #7956
  • Include token usage in Databricks streaming responses #7959
  • Overwrite the deprecated googledrive extension config #7974
  • Emit user-facing message on compaction failure #7975
  • Use Responses API for gpt-5.4 #7982
  • Auto-focus chat input on Hub mount #8007
  • Apps extension: coerce string arguments from inner LLM responses #8030
  • Handle mid-stream error events in OpenAI SSE streaming #8031
  • Fullscreen header bar + always-visible close controls #8033
  • Use default provider and model when provider in session no longer exists #8035
  • Gemini models via Databricks #8042
  • Handle reasoning content blocks in OpenAI-compat streaming parser #8078
  • Remove configured marker when deleting OAuth provider configuration #7887
  • Download manager #7933
  • macOS Intel signing #8218

🔧 Improvements

  • Improve formatting of tool calls, show thinking, treat Reasoning and Thinking the same #7626
  • Separate SSE streaming from POST work submission #7834
  • Optimize tool summarization #7938
  • Support reasoning and gpt-5.4 for ChatGPT Codex #7941
  • Fix N+1 thinking message storage issue #7958
  • Remove unnecessary Arc from tool execution pipeline #7979
  • Remove lead/worker provider #7989
  • Allow delete all types #8018
  • Improve terminal output formatting and visual clarity #8025
  • Consolidate duplicated dependencies into workspace #8041
  • Show setup instructions for ACP providers in settings modal #8065
  • Replace sigstore-verification with sigstore-verify to remove vulnerabilities #8064
  • Update tar version to avoid CVE-2026-33056 #8073
  • Code review step using short-lived provider token #7932

📚 Documentation

  • Remote Access section with Telegram Gateway documentation #7955
  • WebMCP for Beginners blog post #7957
  • GOOSE_INPUT_LIMIT in config-files.md #7961
  • Claude Code approve mode permission routing #7949
  • VMware-AIOps MCP extension documentation #8055
  • Correct gosoe typo to goose #8062

Wednesday, March 18Mar 18, 2026

Release v1.28.0

Goose v1.28.0

✨ Features Adversarial agent for preventing leaking of info and more #7948 Claude adaptive thinking support #7944 New onboarding flow #7266 Persist GooseMode per-session via session DB #7854 Propagate session.id to OpenTelemetry spans and log records #7490…

Read full notes

✨ Features

  • Adversarial agent for preventing leaking of info and more #7948
  • Claude adaptive thinking support #7944
  • New onboarding flow #7266
  • Persist GooseMode per-session via session DB #7854
  • Propagate session.id to OpenTelemetry spans and log records #7490
  • Migrate autovisualiser extension to MCP Apps #7852
  • ACP session/set_mode handler #7801
  • MCP Roots support #7790
  • Load hints in nested subdirectories #7772
  • ACP read tool for delegating filesystem I/O to ACP clients #7668
  • Summarize tool for deterministic reads #7054
  • ACP providers for Claude Code and Codex #6605
  • Capture reasoning summaries from OpenAI Responses API #7375
  • MiniMax provider with Anthropic-compatible API #7640
  • Tensorix as a declarative provider #7712
  • Skill supporting files individually loadable via load() in summon #7583
  • Avian as an LLM provider #7561
  • Combine TUI UX with publishing config #7683
  • Base path field for custom provider configuration #7614
  • Better private channel detection for Slack bot #7680
  • Preferred microphone selection #7805
  • Secret interpolation in streamable HTTP extension URLs #7782

🐛 Bug Fixes

  • Remove incorrect agent_visible filter on user message in claude-code #7931
  • Retry on authentication failure with credential refresh #7812
  • Bump pctx_code_mode to 0.3.0 for iterator type checking fix #7892
  • Pass session_id when loading extensions so skills are discovered #7868
  • Tool choice and parallel_tool_calls support for chatgpt_codex provider #7867
  • Tool confirmation handling for multiple requests #7856
  • Resolve tokio::sync::Mutex deadlock in recipe retry path #7832
  • Stop writing without error when hitting broken pipe for goose session list #7858
  • Skip upgrade-insecure-requests CSP for external HTTP backends #7714
  • Prevent hang when command backgrounds a child process #7689
  • Exit agent loop when tool call JSON fails to parse #7840
  • Prevent SSE connection drops from silently truncating responses #7831
  • Prevent SageMaker TGI from being marked configured when only Bedrock keys are set #7284
  • Disable computercontroller functionality when no $DISPLAY detected #7824
  • Register MCP extensions when resuming a session #7806
  • Load .gitignore in prompt_manager for hint file filtering #7795
  • Remap max_completion_tokens to max_tokens for OpenAI-compatible providers #7765
  • Preserve OpenAI Responses API tool call/output linkage #7759
  • Return ContextLengthExceeded when prompt exceeds effective KV cache size #7815
  • Use includeThoughts/part.thought for Google thinking handling #7593
  • Model selector showing wrong model in tabs #7784
  • Avoid word splitting by space for Windows shell commands #7810
  • Unify path resolution around GOOSE_PATH_ROOT #7335
  • Pass OAuth scopes to DCR and extract granted_scopes from token response #7571
  • Write to real file if config.yaml is symlink #7669
  • Preserve pairings when stopping gateway #7733
  • Sanitize streamable HTTP extension names derived from URLs #7740
  • Improve keyring availability error detection #7766
  • Remove insecure default secret from GOOSE_EXTERNAL_BACKEND #7783
  • Add #[serde(default)] to description field on ExtensionConfig variants #7708
  • Restore smart-approve mode #7690
  • Make TLS configurable in goosed agent via GOOSE_TLS env var #7686
  • Max turns configuration #7612
  • Compare extension configs before skipping add_extension #7650
  • Only add viewable channels to Slack bot context #7678
  • Make sure platform binary exists #7676
  • Replace global static output buffer with per-instance TempDir #7632
  • Resolve parameters in initial message with autosubmit #7659
  • Add analyzer extension in recipe to maintain backwards compatibility #7652
  • Scope empty session reuse to current window to prevent session mixing #7602
  • Prevent abort in local inference #7633
  • Restore provider and extensions for LRU-evicted sessions #7616
  • Removed double dash in pnpm command #7951

🔧 Improvements

  • Upgrade Electron 40.6.0 → 41.0.0 #7851
  • Only show up to 50 lines of source code #7578
  • Keep messages in sync #7850
  • More ACP tools #7843
  • Use pnpm for Desktop Electron App #7679
  • Use constant-time comparison for auth token validation #7730
  • Use camelCase in CallToolResponse and add type discriminators to ContentBlock #7487
  • Convert Tanzu provider to declarative JSON config #7124

…

Friday, March 6Mar 6, 2026

Release v1.27.2

Goose v1.27.2

🔧 Improvements Cleanup old sandbox #7700

Read full notes

🔧 Improvements

  • Cleanup old sandbox #7700

Thursday, March 5Mar 5, 2026

Release v1.27.1

Goose v1.27.1

🐛 Bug Fixes Ensure platform binary exists before execution #7676

Read full notes

🐛 Bug Fixes

  • Ensure platform binary exists before execution #7676
Release v1.27.0

Goose v1.27.0

✨ Features Structured {stdout, stderr} return from shell tool with output schema #7604 Analyze platform extension with tree-sitter AST parsing #7542 Anthropic adaptive thinking support #7356 Fullscreen and PiP display modes for MCP Apps #7312 Persistent text…

Read full notes

✨ Features

  • Structured {stdout, stderr} return from shell tool with output schema #7604
  • Analyze platform extension with tree-sitter AST parsing #7542
  • Anthropic adaptive thinking support #7356
  • Fullscreen and PiP display modes for MCP Apps #7312
  • Persistent text bar with message queue #7560
  • Self-signed HTTPS for goosed server #7126
  • pctx/Code Mode as optional dependency via 'code-mode' feature #7567
  • Goose AI bot can search goose codebase #7508
  • Goose-powered release notes generator workflow #7503

🐛 Bug Fixes

  • Resolve parameters in initial message with autosubmit #7659
  • Schedules added via CLI now show up in UI #7594
  • Validate configure probe for streaming providers #7564
  • Claude-code permission routing for smart-approve #7501
  • Avoid debug logging by default in CLI #7569
  • Panic on corrupted permission.yaml instead of silently allowing all #7458
  • Handle null reasoning effort in OpenAI Responses API #7469
  • Preserve order in OpenAI Responses API history #7500
  • Replace unwrap() with graceful error in scheduler execute_job #7436
  • Dictation API error message shows correct limit #7423
  • Use ACP schema types for session/list #7409
  • Desktop bundle and updater asset naming configurable #7337
  • New Recipe Warning closes on cancel #7524
  • ACP session creation when model listing is unavailable #7484
  • Prevent crashes in long-running Electron sessions #7481
  • Windows MSVC linking issues #7511
  • Handle Bedrock 'prompt is too long' error #7550

🔧 Improvements

  • Merge platform/builtin extensions #7630
  • Custom provider creation experience improvements #7541
  • Better network failure error & Anthropic retry #7595
  • Add base_path field to custom provider config #7558
  • Simplify developer extension #7466
  • Disable tool pair summarization #7481
  • GPT 5-3-Codex model support in Databricks #7516
  • Apps page visual improvements #7579
  • Restore old system prompt behavior around subagents #7576
  • OpenAI reasoning model cleanup #7529
  • Add analyzer extension in recipe for backwards compatibility #7652
  • Dockerfile: add missing build/runtime dependencies #7546
  • Allow GOOSE_NODE_DIR override in batch file #7422

📚 Documentation

  • Correct Goose emoji 🪿 instead of Swan in README.md #7485
  • Outdated clippy command in goosehints #7590

Wednesday, March 4Mar 4, 2026

Release v1.26.2

Goose v1.26.2

🐛 Bug Fixes Allow sandbox to write to goose config.yaml #7656

Read full notes

🐛 Bug Fixes

  • Allow sandbox to write to goose config.yaml #7656

Friday, February 27Feb 27, 2026

Release v1.26.1

Goose v1.26.1

🐛 Bug Fixes Restore old system prompt behavior around subagents #7576

Read full notes

🐛 Bug Fixes

  • Restore old system prompt behavior around subagents #7576

Thursday, February 26Feb 26, 2026

Release v1.26.0

Goose v1.26.0

✨ Features Local inference provider with llama.cpp backend and HuggingFace model management #6933 Cerebras provider support #7339 Moonshot and Kimi Code declarative providers #7304 LMStudio declarative provider #7455 Gateway to chat to goose via Telegram etc…

Read full notes

✨ Features

  • Local inference provider with llama.cpp backend and HuggingFace model management #6933
  • Cerebras provider support #7339
  • Moonshot and Kimi Code declarative providers #7304
  • LMStudio declarative provider #7455
  • Gateway to chat to goose via Telegram etc #7199
  • MCP apps sampling support #7039
  • Neighborhood extension in the Extensions Library #7328
  • Computer controller overhaul with peekaboo #7342
  • TUI client for goose-acp #7362
  • GOOSE_SUBAGENT_MODEL and GOOSE_SUBAGENT_PROVIDER config options #7277
  • Configurable OTel logging level #7271
  • GoosePlatform in AgentConfig and MCP initialization #6931
  • Gemini CLI streaming support via stream-json events #7244
  • Expose context window utilization to agent via MOIM #7418
  • Auto submit for recipes that have been accepted #6325
  • Claude Code permission prompt routing for approve mode #7420
  • Token counts displayed directly for "free" providers #7383
  • Typescript SDK for ACP extension methods #7319
  • Bedrock prompt cache #6710

🐛 Bug Fixes

  • Windows MSVC linking issues #7511
  • Searchbar z-index modal overlay #7502
  • Out of order messages #7472
  • Latest session always displays in sidebar #7489
  • Color-scheme declaration for transparent MCP App iframes #7479
  • Forward _meta in tool results to MCP Apps #7476
  • Summon skill supporting files and directory path in load output #7457
  • flake.nix build failure and deprecation warning #7408
  • Truncated LLM responses detection in apps extension #7354
  • Truncated tool calls that break conversation alternation #7424
  • SQLite deadlocks with BEGIN IMMEDIATE #7429
  • Correct colors for download progress bar #7390
  • MOIM telling models to sleep while waiting for tasks #7377
  • stderr noise #7346
  • MCP app sampling support restored after revert #7366
  • Skip whitespace-only text blocks in Anthropic message #7343
  • goose-acp heap allocations #7322
  • Trailing space from links #7156
  • Low balance detection with prompt for top up #7166
  • Display 'Code Mode' instead of 'code_execution' in CLI #7321
  • Gemini CLI streaming restored #7291
  • CLI handling of Reasoning content and streaming thinking display #7296
  • OpenAI support for "reasoning" field alias in streaming deltas #7294
  • UI revert app-driven iframe width and send containerDimensions per ext-apps spec #7300
  • Ollama input limit override #7281
  • Subrecipe relative path with summon #7295
  • Extension selector not displaying correct enabled extensions #7290
  • Subagent tool call notifications after summon refactor #7243
  • UI preserve server config values on partial provider config save #7248
  • Allow goose to run inside a Claude Code session #7232
  • OpenAI route gpt-5 codex via responses and map base paths #7254
  • Filter models without tool support from recommended list #7198
  • Google thoughtSignature vagaries during streaming #7204
  • Settings tabs getting cut off in narrow windows #7379

🔧 Improvements

  • Simplified custom model flow with canonical models #6934
  • Simplified text editor to be more like pi #7426
  • CLI update replaced shell-based with native Rust implementation #7148
  • OpenAI responses models with hardened event streaming handling #6831
  • Canonical Models for context window sizes #6723
  • Command to validate bundled extensions json #7217
  • Unified streaming across all providers #7247
  • New navigation settings layout options and styling #6645
  • MCP-compliant theme tokens and CSS class rename #7275
  • Redirect llama.cpp logs through tracing #7434
  • Display working directory in UI #7419
  • Remove allows_unlisted_models flag, always allow custom model entry #7255
  • Local model settings access from bottom bar model menu #7378
  • Use model ID everywhere for local model API #7382
  • Improved link confirmation modal #7333
  • Upgrade to rmcp 0.16.0 #7274
  • Use working dir from session #7285
  • Apps token limit #7474
  • 3rd-party license copy for JavaScript/CSS minified files #7352
  • Client settings improvements #7381
  • Open recipe in new window passes recipe id #7392

📚 Documentation

  • Groq models #7404
  • Voice dictation updates #7396
  • Excalidraw MCP App Tutorial #7401

…

Release v1.25.2

Goose v1.25.2

🔧 Improvements Disable tool pair summarization via feature flag to improve stability

Read full notes

🔧 Improvements

  • Disable tool pair summarization via feature flag to improve stability