Skip to content

Releases: block/goose

v1.26.0

26 Feb 20:06

Choose a tag to compare

✨ 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
  • Gastown blog post: How to Use Goosetown for Parallel Agentic Engineering #7372
  • Type-to-search goose configure lists #7371
  • Search conversation history #7370
  • Reasoning environment variable #7367
  • Update skills detail page for Goose Summon extension #7350
  • Sandbox topic update #7336
  • Monitoring subagent activity section #7323
  • Desktop UI recipe editing for model/provider and extensions #7327
  • CLAUDE_THINKING_BUDGET and CLAUDE_THINKING_ENABLED environment variables #7330
  • Permission Policy for MCP Apps #7325
  • CLI syntax highlighting theme customization #7324
  • Code Execution extension renamed to Code Mode extension #7316
  • Escape variable syntax in recipes #7314
  • OTel environment variable and config guides #7221
  • System proxy settings #7311
  • Summon extension tutorial and Skills references #7310
  • Agent session id #7289
  • Top Of Mind extension #7283
  • Gemini 3 thinking levels #7282
  • Stream subagent tool calls #7280
  • Delete custom provider in desktop #7279
  • Disable AI session naming #7194
  • Playwright CLI skill tutorial #7261
  • Community all-stars and page update #7483
  • Neighborhood extension page with video embed and layout improvements #7473
  • YouTube short embed to Neighborhood extension tutorial #7456
  • Generate manpages #7443
  • Goose v1.25.0 release blog [#7433](https://github.com/block/...
Read more

v1.25.2

26 Feb 17:45

Choose a tag to compare

🔧 Improvements

  • Disable tool pair summarization via feature flag to improve stability

v1.25.1

25 Feb 20:14

Choose a tag to compare

fix: use BEGIN IMMEDIATE to prevent SQLite deadlocks (#7429)

Signed-off-by: rabi <ramishra@redhat.com>

v1.25.0

18 Feb 08:10

Choose a tag to compare

goose v1.25.0 is here

✨ Features

  • macOS sandboxing — Goose Desktop now runs in a macOS sandbox for enhanced security [#7197](#7197)
  • Unified summon extension — Replaced subagent and skills with a single, unified summon extension [#6964](#6964)
  • MCP Apps UI integration — Integrated AppRenderer from @mcp-ui/client SDK with fallback request handler support [#7013](#7013) [#7208](#7208)
  • Edit recipes from the GUI — Model and extensions of a recipe can now be edited directly in the desktop app [#6804](#6804)
  • Load provider/model from recipe config — Recipes can now specify their own provider and model [#6884](#6884)
  • Claude Code streaming support — Streaming output for the Claude Code CLI provider [#6833](#6833)
  • Claude Code dynamic model switching — Dynamic model listing and mid-session model switching for Claude Code [#7120](#7120)
  • Gemini CLI stream-json and session reuse — Gemini CLI provider now uses stream-json output and re-uses sessions [#7118](#7118)
  • MCP support for agentic CLI providers — MCP extensions now work with agentic CLI providers (Claude Code, Codex, Gemini CLI) [#6972](#6972)
  • Reasoning content in API — Expose reasoning_content in the API for reasoning models [#6322](#6322)
  • Gemini OpenAI compat extra field — Support for the extra field in chat completion tool calls for Gemini OpenAI compatibility [#6184](#6184)
  • OTel standard env var support — Respect standard OpenTelemetry environment variables for exporter selection [#7144](#7144)
  • ACP model selection — Model selection support for session/new and session/set_model endpoints [#7112](#7112)
  • Override bat themes — Allow overriding default bat syntax highlighting themes using environment variables [#7140](#7140)
  • AGENT=goose env variable — Set AGENT=goose environment variable for cross-tool compatibility [#7017](#7017)
  • Manpage generation — Automatic manpage generation for goose-cli [#6980](#6980)
  • Top Of Mind (tom) extension enabled by default — The tom platform extension is now on by default [#7111](#7111)
  • Standalone Goose Apps filtering — Apps page now filters to only show standalone Goose Apps [#6811](#6811)
  • MCP Apps UI extension capability — Upgraded rmcp to 0.15.0 and advertise MCP Apps UI extension capability [#6927](#6927)
  • Custom headers for OpenAI-compatible providers — Desktop now supports custom headers for custom OpenAI-compatible providers [#6681](#6681)
  • SLSA build provenance — Release workflows now include SLSA build provenance attestations [#7097](#7097)

🐛 Bug Fixes

  • Subrecipe relative path resolution with summon [#7295](#7295)
  • Extension selector not displaying the correct enabled extensions [#7290](#7290)
  • reasoning_content handling for Kimi/thinking models [#7252](#7252)
  • Shell-escaping special characters except quotes [#7242](#7242)
  • Dynamic port for Tetrate auth callback server [#7228](#7228)
  • Fork session not working correctly [#7219](#7219)
  • Deprecated skills extension now ignored gracefully [#7139](#7139)
  • Filetype detection returning PLAIN_TEXT instead of HTML [#6885](#6885)
  • Concurrent tool execution within the same MCP extension [#7202](#7202)
  • Missing arguments in MCP tool calls causing GUI crash [#7143](#7143)
  • Save and run recipe not working [#7186](#7186)
  • Speech-to-text local functionality [#7181](#7181)
  • MCP resource content decoding [#7155](#7155)
  • Provider custom headers configuration [#7157](#7157)
  • Keyring fallback now handled as success [#7177](#7177)
  • Panic replaced with proper error handling in get_tokenizer [#7175](#7175)
  • Text editor view broken [#7167](#7167)
  • Assistant messages with tool_calls now always include content field [#7076](#7076)
  • GCP Vertex AI model mapping handled correctly [#6836](#6836)
  • Missing content from Langfuse traces [#7135](#7135)
  • Extension selector syncing issues [#7133](#7133)
  • Per-session Agent for model isolation and load_session restore (ACP) [#7115](#7115)
  • Claude Code defensive coding improvements for model switching [#7131](#7131)
  • Isolated claude-code sessions via stream-json session_id [#7108](#7108)
  • Duplicated output in Code Mode by filtering content by audience [#7117](#7117)
  • Strip empty extensions array in deeplinks [#7096](#7096)
  • Goose Desktop missing Calendar and Reminders entitlements [#7100](#7100)
  • Flatpak icon [#7154](#7154)
  • Ask-ai bot hitting tool call limits [#7162](#7162)
  • OTel monotonic_counter prefix and temporality env var support [#7234](#7234)
  • Node installed in goose dir [#7267](#7267)
  • Windows bundle random failure and optimised canary build [#7105](#7105)

🔧 Improvements

  • Streaming markdown rendering [#7233](#7233)
  • Improved compaction messages for better post-compaction agent behavior [#7259](#7259)
  • Smaller system prompt for reduced token usage [#6991](#6991)
  • Static Regex compilation for performance [#7205](#7205)
  • Show directory in window title [#7138](#7138)
  • Improved error message logging from Electron [#7130](#7130)
  • Updated ElevenLabs API module and remove button UX [#6781](https://github.c...
Read more

v1.24.0

12 Feb 22:17

Choose a tag to compare

goose v1.24.0 Release Notes

✨ Features

  • Unified summon extension — replaces subagent and skills with a single, streamlined extension [#6964](#6964)
  • Top of Mind (tom) platform extension — new built-in extension enabled by default for contextual awareness [#7073](#7073) [#7111](#7111)
  • MCP support for agentic CLI providers — Claude Code, Codex, and Gemini CLI can now use MCP tools [#6972](#6972)
  • Claude Code: dynamic model listing and mid-session model switching [#7120](#7120)
  • Claude Code: stream-json protocol for persistent sessions [#7029](#7029)
  • Reasoning content in API for reasoning models [#6322](#6322)
  • Configurable thinking level for Gemini 3 models [#6585](#6585)
  • Image support and improved error resilience for Codex [#7033](#7033)
  • Google provider: MessageContent::Image support for user messages [#6986](#6986)
  • Edit model and extensions of a recipe from the GUI [#6804](#6804)
  • Load provider/model specified inside recipe config [#6884](#6884)
  • Escape Jinja variables in recipes to include them in prompts [#6975](#6975)
  • Session content search via API [#7050](#7050)
  • Inline rename for chat sessions in sidebar [#6995](#6995)
  • Desktop UI for deleting custom providers [#7042](#7042)
  • Custom headers field for custom OpenAI-compatible providers in Desktop [#6681](#6681)
  • Display subagent tool calls in CLI and UI [#6535](#6535)
  • Type-to-search filtering in CLI select/multiselect dialogs [#6862](#6862)
  • AGENT_SESSION_ID env var exposed to extension child processes [#7072](#7072)
  • AGENT=goose environment variable for cross-tool compatibility [#7017](#7017)
  • Pass env to shell commands [#6863](#6863)
  • Global config switch to disable automatic session naming [#7052](#7052)
  • Port of Context (pctx) for Code Mode [#6765](#6765)
  • Overridable default bat themes using environment variables [#7140](#7140)
  • MCP Apps: Permission Policy support for sandbox iframes [#6947](#6947)
  • MCP Apps: integrate AppRenderer from @mcp-ui/client SDK [#7013](#7013)
  • Upgrade rmcp to 0.15.0 and advertise MCP Apps UI extension capability [#6927](#6927)
  • Groq declarative data updated with Preview Models [#7023](#7023)
  • ACP: model selection support for session/new and session/set_model [#7112](#7112)
  • Support extra field in chat completion tool_calls for Gemini OpenAI compat [#6184](#6184)
  • Manpage generation for goose-cli [#6980](#6980)
  • SLSA build provenance attestations added to release workflows [#7097](#7097)
  • CUDA support — allow building with CUDA as the candle backend [#6914](#6914)
  • Proper proxy support on Windows & macOS [#6840](#6840)

🐛 Bug Fixes

  • Save and run recipe not working [#7186](#7186)
  • Local speech/whisper functionality [#7181](#7181)
  • Handle keyring fallback as success [#7177](#7177)
  • Replace panic with proper error handling in get_tokenizer [#7175](#7175)
  • Text editor view broken [#7167](#7167)
  • Configure add provider custom headers [#7157](#7157)
  • MCP: decode resource content [#7155](#7155)
  • Flatpak icon [#7154](#7154)
  • Missing content from Langfuse traces [#7135](#7135)
  • Extension selector syncing issues [#7133](#7133)
  • Claude Code: defensive coding improvements for model switching [#7131](#7131)
  • Duplicated output in Code Mode by filtering content by audience [#7117](#7117)
  • ACP: per-session Agent for model isolation and load_session restore [#7115](#7115)
  • Isolate Claude Code sessions via stream-json session_id [#7108](#7108)
  • Windows bundle random failure and optimised canary build [#7105](#7105)
  • Goose Desktop missing Calendar and Reminders entitlements [#7100](#7100)
  • Strip empty extensions array when deeplink [#7096](#7096)
  • Improve text-muted contrast for better readability [#7095](#7095)
  • Allow unlisted models for CLI providers [#7090](#7090)
  • command.process_group(0) for CLI providers, not just MCP [#7083](#7083)
  • Only send command content to command injection classifier [#7082](#7082)
  • Switch to Windows MSVC [#7080](#7080)
  • Ensure assistant messages with tool_calls include content field [#7076](#7076)
  • Remove Option from model listing return types, propagate errors [#7074](#7074)
  • Lazy provider creation for goose ACP [#7066](#7066)
  • XML tool call parsing fallback for Qwen3-coder via Ollama [#6882](#6882)
  • Ensure animated elements are visible when prefers-reduced-motion is enabled [#7047](#7047)
  • Show recommended model on failure [#7040](#7040)
  • snake_case function names in code_execution instructions [#7035](#7035)
  • Azure OpenAI model listing 404 during configure [#7034](#7034)
  • Codex: propagate extended PATH to subprocess [[#6874](https://github.com/block/goose/pu...
Read more

v1.23.2

06 Feb 17:30

Choose a tag to compare

Don't swallow Tetrate errors  (#6998)

v1.23.1

06 Feb 05:36
6c486c7

Choose a tag to compare

Lifei/cherry pick fix dep (#7020)

Signed-off-by: rabi <ramishra@redhat.com>
Co-authored-by: Rabi Mishra <ramishra@redhat.com>

v1.23.0

04 Feb 17:52

Choose a tag to compare

✨ Features

  • Ask AI Discord bot #6842
  • WebSocket transport for goose-acp #6895
  • Streamable HTTP transport for ACP + goose-acp usage #6741
  • Laminar for Observability #6514
  • Platform extension migrator + code mode rename #6611
  • CLI flag to skip loading profile extensions #6780
  • Thinking status hook #6815
  • Hourly skill fetching #6814

🐛 Bug Fixes

  • Apps now work in built copies of goose #6901
  • Handle thoughtSignature differently for Gemini 2.5 vs 3 #6890
  • Preserve working directory when creating new chat #6789
  • Case-insensitive matching for builtin extension names #6825
  • Correct tool support detection in Tetrate provider model fetching #6808
  • Session manager fixes #6809
  • Handle quoted paths with spaces in extension commands #6430
  • Hardcoded J for newline key in missed locations #6853
  • UI settings prompt injection update #6830
  • Release build fix #6887

🔧 Improvements

  • Extract ProviderDef trait and OpenAiCompatibleProvider #6832
  • Remove dependency on goose-mcp from goose crate #6637
  • Sync desktop_prompt with UI #6898
  • Rejig dictation #6844
  • Clean up client side code for creating schedule #6805
  • Upgrade React and Electron to latest #6845
  • Move persisting extension to session outside of route #6685
  • ACP: load configured extensions and refactor tests #6803
  • Swap canonical model from openrouter to models.dev #6625
  • Centralize audience filtering before providers receive messages #6728
  • Don't output compaction in term mode #6799
  • Clean up build canonical warnings #6880
  • Remove autogenerated .gooseignore files from repo #6824
  • GitHub repo configurable for auto-updater and publisher #6828

📚 Documentation

  • 5 tips for building MCP Apps that work #6855
  • Session isolation #6846
  • CLI newline keybinding #6823
  • Usage data collection #6822
  • Contributor instructions for hermit activation and npm/node versions #6727
  • Copilot instructions: "No prerelease docs" update #6795

v1.22.2

02 Feb 05:27
46c5bbe

Choose a tag to compare

fix: fixed the broken release (#6887) (#6888)

v1.22.1

30 Jan 20:57

Choose a tag to compare

upgrade react and electron to latest (#6845)