github block/goose v1.24.0

7 hours ago

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](#6874)
  • Handle tool names without underscores [#7015](#7015)
  • Hub chat input overlapping SessionInsights on paste [#6719](#6719)
  • GCP Vertex AI model mapping handled correctly [#6836](#6836)
  • Detect context length errors in GCP Vertex AI provider [#6976](#6976)
  • Correct Tailwind @source paths for tarball builds [#6978](#6978)
  • 'Edit In Place' feature appending instead of editing messages [#6955](#6955)
  • 'Edit In Place' and 'Fork Session' features [#6970](#6970)
  • Tool confirmations not showing up mid chat [#6935](#6935)
  • Per session working directory isolation [#6920](#6920)
  • Session history cards title wrapping early [#6854](#6854)
  • Deep links not working in markdown [#6907](#6907)
  • Lazy regex to avoid recompile [#6865](#6865)
  • Devstral models with correct 262K context length [#6867](#6867)
  • Gemini CLI command parsing [#6960](#6960)
  • Ask-ai bot hitting tool call limits [#7162](#7162)
  • ACP fixtures now raise content mismatch errors [#6912](#6912)

🔧 Improvements

  • Smaller system prompt [#6991](#6991)
  • Always sync bundled extensions [#7057](#7057)
  • Updated ElevenLabs API module and remove button UX [#6781](#6781)
  • Custom provider form minor improvements [#6966](#6966)
  • Allow copying long strings to the clipboard in the diagnostics viewer [#6951](#6951)
  • Ctrl-C behavior like Claude Code [#6900](#6900)
  • Don't show new chat placeholders for recipes in sidebar [#6790](#6790)
  • Inline worklet source [#7128](#7128)
  • PATH detection back in developer extension [#7161](#7161)
  • Improve error message logging from Electron [#7130](#7130)
  • Update candle to 0.9 [#6913](#6913)
  • Fast models on Databricks have 0 retries [#6919](#6919)
  • Use Haiku for Databricks [#6943](#6943)
  • Bump pctx [#6967](#6967)
  • LTO and codegen-units in release build [#6586](#6586)
  • Switch jsonwebtoken to use aws-lc-rs [#7189](#7189)
  • Local speech (Careless Whisper) [#6877](#6877)
  • Skills Marketplace UI improvements [#7158](#7158)
  • Group dependencies in root Cargo.toml [#6948](#6948)
  • Cargo-audit → cargo-deny for advisory scanning [#7032](#7032)

🔒 Security

  • Bump bat to 0.26.1 to resolve RUSTSEC-2026-0008 [#7021](#7021)
  • Trim bat to resolve RUSTSEC-2024-0320 [#7061](#7061)
  • Bump tree-sitter to 0.26 and set sqlx default-features=false to fix RUSTSEC advisories [#7031](#7031)
  • Cargo-audit workflow for scanning Rust vulnerabilities [#6351](#6351)
  • Upgraded npm packages for latest security updates [#7183](#7183)
  • Update process-wrap to 9.0.3 (9.0.2 is yanked) [#7176](#7176)

📖 Documentation

Don't miss a new goose release

NewReleases is sending notifications on new releases.