Releases
v1.41.0
Compare
Sorry, something went wrong.
No results found
✨ 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 )
Unparseable extension entries preserved during config refresh (#9439 )
Session info ACP method (#9729 )
Anthropic stream refusals surfaced as visible errors (#9724 )
Ollama_cloud correctly mapped to canonical provider (#9639 )
Groq provider max tokens values corrected (#9790 )
Stream decode errors marked retryable (#9723 )
Databricks AI Gateway v2 endpoints pagination (#9753 )
Pattern-based prompt injection detection confidence scores adjusted (#9690 )
ACP compatibility in TUI for config extensions (#9683 )
Thinking content buffered across stream chunks for DeepSeek/Kimi tool calls (#9704 )
Actionable errors surfaced for truncated tool-call arguments (#9946 )
Deleting recently created session and creating new one no longer shows deleted content (#9351 )
Custom OpenAI provider port preserved when URL scheme omitted (#9730 )
ACP agentInfo included in initialize response (#9765 )
Local inference media marker parts used for vision prompts (#9452 )
Extensions icon visible after switching sessions (#9787 )
Non-recipe project config files skipped in summon (#9808 )
Duplicate tool-call ids deduped within a turn (#9792 )
Bundled extensions resolved from discovery (#9759 )
Thinking config passed to Bedrock Anthropic models (#9794 )
LiteLLM context limit from /model/info for custom models (#9303 )
Thinking content preserved for provider context (#9314 )
Configurable timeout env vars mentioned in Ollama stream stall error (#9246 )
Full recipe parameter details included in load/discovery output (#9233 )
Unused fetch-metadata IPC handler removed (SSRF) (#9340 )
Gateway respects GOOSE_MAX_TURNS (#9354 )
Anthropic empty object sent instead of null for tool_use input (#9355 )
Selected branch preserved across project chats (#9010 )
Tolerate missing responses output (#9449 )
Azure api-version query param made optional (#9221 )
Pending env vars preserved in Add Extension form (#9285 )
Linux x86_64 built inside manylinux_2_28 for glibc 2.28+ compat (#9415 )
Main window stops growing taller on every launch (#9409 )
Desktop chat search session limiting (#9366 )
Per-session agent creation serialized to stop duplicate MCP init (#9357 )
OTLP signals skipped when protocol=grpc to avoid background-thread panic (#9512 )
Stop hook decisions honored when blocking (#9468 )
ACP server context window size forwarded to clients (#9455 )
Provider list refresh in Switch Models picker (#9408 )
New chat started in current window from recipe param modal (#9422 )
Trace_output emitted as span attribute instead of event (#9255 )
File fallback checked when keyring has no entry (#9279 )
ScheduleModal error message styling (#9278 )
Sidebar hamburger aligned in macOS fullscreen (#9257 )
current_exe() used instead of PATH lookup when spawning goose (#9236 )
TCP_USER_TIMEOUT set on streamable HTTP clients (#9207 )
Custom provider activated after adding via configure (#9213 )
OTLP traces flushed reliably on exit with configurable timeout (#9228 )
Excessive MISSING_TRANSLATION warnings reduced for fallback locales (#9294 )
Cross-window deep link contamination eliminated (#9273 )
Telegram gateway error reporting and connection reliability improved (#9223 )
VT processing enabled on Windows Console Host (#9248 )
Cost zeroed for local providers (ollama, local) (#9222 )
Tool-use marker leakage prevented in toolshim output (#8310 )
Summon canonical limits re-applied when delegate overrides model (#9183 )
CLI cumulative total_tokens reported in stream-json/json output (#8910 )
GCP metadata server token refreshed on expiration (#8929 )
WSL2 OS detection corrected by removing PWD-based Windows override (#8869 )
Bedrock ReasoningContent blocks handled gracefully (#8843 )
Tool pair summaries inserted at chronological position in conversation (#9087 )
SQLite foreign key enforcement enabled in session pool (#9121 )
Deleted chat session still appearing in sidebar list (#8674 )
Extension_name required on read_resource (#8989 )
SACP notifies clients of generated session names (#8983 )
Quoted numeric config values converted to numbers if needed (#8844 )
SSE reconnect loop kept alive on long disconnects (#8717 )
OpenAI request_params applied to outgoing API payload (#9151 )
Gemini 3.x known_location Global routing and KNOWN_MODELS entries (#9142 )
Anthropic Retry-After honored on 429 responses (#9161 )
Streaming Thinking deltas coalesced + available tools listed on not-found (#9162 )
User-set session name preserved for recipe-based chats (#9079 )
OIDC-proxy exp enforcement independent of MAX_TOKEN_AGE_SECONDS (#8832 )
Inline code contrast improved in light theme (#9058 )
Max_tokens omitted for OpenAI-compatible requests when unset (#9123 )
MCP-app host capabilities set correctly (#9116 )
Nullable schemas normalized for Vertex Gemini compatibility (#8930 )
GitHub recipe temp paths isolated (#8878 )
X-Initiator header set on GitHub Copilot requests (#8809 )
Dynamic_models: false honored in declarative provider configs (#8795 )
Frontend extension session state and tool routes (#8464 )
Bedrock trailing message cached for stable prefix across agent turns (#8916 )
Case-insensitive model name lookup for context_limit (#8906 )
Cumulative token usage emitted in stream-json/json complete event (#8870 )
400 returned instead of panicking on invalid CSP header value (#8810 )
ACP streaming chunks coalesced under one message id (#8788 )
Goose2 vite server reused on port conflict (#8722 )
Python3 used in developer extension instructions for macOS/Linux compatibility (#8784 )
ACP child synchronously reaped to avoid SIGCHLD race (#9023 )
Goose2 small-window chat and settings layouts (#9019 )
Elicitation fixes (#8999 )
OpenAI null tool_call arguments accepted in streaming chunks (#9035 )
Plain '> ' prompt used instead of goose emoji in CLI (#9305 )
Goosed not killed when a window closes (#9302 )
Databricks parallel tool image responses don't interleave tool results (#9241 )
Accumulated cost persisted in session DB to survive reload (#9191 )
Publish-npm binary built from current SHA + compat check (#9212 )
Preprompt excluded from session title generation (#8793 )
Login-shell PATH probe prevented from suspending goose on startup (#8804 )
Venice replaced with declarative config (#9234 )
MOIM allowlist widened for expected fix_conversation warnings (#9226 )
mkdir -p used for self-test workspace initialization (#9247 )
Tool name shown in approval prompt (#9216 )
ACP images replayed on session load (#9496 )
Azure CLI resolved on Windows using az.cmd (#9215 )
Non-interactive terminal handled in goose configure on Windows (#9214 )
ACP recipe state applied during session load and fork (#9998 )
Local inference GGUF requirements stricter, auto detection of tool calling support, thinking output parsing fixed (#9442 )
Goose alias preferred for Databricks v2 inventory (#9430 )
Streamed tool calls without indexes supported (#10023 )
Allow local file ACP origins (#10194 )
MCP app sandbox bridge lifecycle fixed (#10064 )
🔧 Improvements
Refactored local inference provider crates (#10169 )
ACP auth and origin defaults improved (#9886 )
UI connected to ACP directly instead of goosed (#10081 )
Turn-context kept out of Anthropic prefix cache (#10030 )
Extended thinking disabled for fast-model operations (#9815 )
Diagnostics migrated to JSON report (#9964 )
MCP elicitations routed through tool streams (#9943 )
Provider refactored: model config not required to create provider (#9953 )
Session name as source of truth for displayed session titles (#9841 )
Provider inventory split out of providers (#9826 )
MCP extensions supported in open plugins (#9471 )
Databricks Responses API support check (#9347 )
Initial prompt with goose://new-session (#9427 )
View model interactions (#9806 )
API Client moved to goose-providers (#9869 )
Request logger refactored out of providers (#9847 )
Provider trait moved into goose-providers (#9860 )
Global config access moved out of ModelConfig (#9769 )
Debug info dropped for dependencies in dev profile (#9843 )
Formats/openai.rs moved into goose-providers crate (#9633 )
Goose-providers crate created with canonical models, conversation and other types (#9588 )
Generic validator for declarative providers (#10010 )
UI types decoupled from generated OpenAPI types (#10149 , #10109 )
ACP SDK upgraded to new HTTP/WS crate (#10082 )
MCP sampling support removed (#10087 )
Legacy MCP-UI proxy support removed (#10086 )
Session_id removed from provider streaming trait methods (#9984 )
Ollama provider moved into goose-providers (#9986 )
Anthropic provider moved into goose-providers (#9985 )
OpenAI provider moved into goose-providers (#9880 )
LRU cache used for token counting (#9586 )
Hugging Face OAuth support added with auth tab in settings (#9552 )
Review subprocess timeout replaced with turn limits (#9571 )
Benchmarking improved (#9465 , #9637 )
Canonical thinking modes added (#9743 )
Skill instructions dynamically refreshed each turn (#9217 )
Pasted HTML parsed better as markdown (#9190 )
Dependency hygiene improved (#9360 )
Summon instructions built per turn (#9329 )
Protocol cleanup (#9147 )
Settings moved into app shell (#9047 )
Extension page redesigned (#8940 )
Provider catalog moved behind ACP layer in goose2 (#9030 )
Skills library redesigned (#8868 )
Sidebar navigation and project icons polished (#8896 )
Provider resolution parallelized and SQLite pool eagerly initialized (#8899 )
Skill categories removed (#9008 )
Consecutive tool calls grouped into summarized chain card (#8995 )
Artifact heuristics/regexes replaced with protocol messages (#8996 )
CLI help text updated for --session-id (#10077 )
Canonical model registry refreshed (#10709, #9551 , #9331 )
EmpirioLabs provider display name updated (#10126 )
📚 Documentation
Custom agents guide (#9293 )
Custom agents guide correction (#9947 )
Message field named in hooks payload guide (#9913 )
Release testing instructions updated (#10122 )
ACP clients documentation updated (#9772 )
Session History navigation/delete docs fixed (#9727 )
Remote goosed server connection guide (#9275 )
SaladCloud AI Gateway documentation (#9253 )
Summon extension requirement documented for delegate and load tools (#9231 )
Hooks guide (#9288 )
Hooks feature blog post (#9227 )
Documentation reorganized (#9310 )
Scaleway provider documentation (#9423 )
Self-improving agents blog post (#9846 )
AAIF migration blog post (#9866 )
Orchestrating with goose blog post (#9104 )
Minimax and office QA benchmark findings blog post (#8984 )
Goose with peekaboo blog post (#8884 )
Built-in Local Inference blog post (#8808 )
DCO references removed (#9864 )
Internal documentation anchors fixed (#9094 )
Ophis MCP server added to extensions registry (#9861 )
Scholar Sidekick tutorial page (#9477 )
Installation whitespace fix (#9867 )
Stats update (#9410 )
MCP blog post typo fix (#9641 )
Analyze extension instructions updated (#9585 )
You can’t perform that action at this time.