Releases
v1.46.0
Compare
Sorry, something went wrong.
No results found
✨ 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
Create source archive as release artifact #10786
New Providers
Celeris provider #10714
Friendli declarative provider #10762
Azure AI Foundry multi-LLM provider #10622
OllamaCloud provider with dynamic model discovery #10264
Sakana AI provider for OpenAI-compatible Fugu API #10357
iFlytek Spark and Astron MaaS providers #9837
Fireworks AI declarative provider #9990
OpenRouter request parameters support #9276
Together AI declarative provider #9545
OrcaRouter declarative provider #9515
Perplexity declarative provider #9324
Alibaba (Qwen via DashScope) declarative provider #9443
Databricks AI Gateway provider #9274
Scaleway provider #9254
NEAR AI Cloud provider #9352
EmpirioLabs declarative provider #9771
xAI SuperGrok OAuth subscription provider #9420
Vercel AI Gateway #9144
Routstr declarative provider #9175
FuturMix provider #8840
oMLX declarative provider #9177
Atomic Chat declarative provider #9210
Muse Spark 1.1 via Meta Models API #10432
AWS Bedrock support for OpenAI GPT models via mantle endpoint #9707
Azure AD (Entra ID) bearer token auth via AZURE_OPENAI_AD_TOKEN #9716
New Models
GPT-5.6 support #10384 , #10349
GPT-5.5 to ChatGPT Codex known models #9292
GLM-5.2 support #9967
Opus5 support with adaptive thinking #10686
Claude-sonnet-5 and claude-fable-5 to known models #10865 , #10183
Cursor composer-2.5 models #10618
Cursor-agent models from CLI #10367
Latest Gemini models #10630
Gemini 3.x known locations and KNOWN_MODELS entries #9142
MiniMax-M3 and M2.7 variants #10431
OVHcloud Qwen3.6-27B model #10339
Internationalization
French, German, Italian, Portuguese, Indonesian, Malay, Vietnamese, zh-TW desktop locales #10072
Korean localization #9856 , #10667
Spanish (es) locale #9833
Japanese locale #9768
Hindi Desktop locale #9733
Russian language support #9406
Turkish desktop locale #9392
Simplified Chinese (zh-CN) translation #8765
Language selection feature #9405
🐛 Bug Fixes
Reject invalid subrecipe content #10994
Keep turn-context in place for OpenAI Responses-stack models for prompt caching #10993
Byte-bound the shell truncation preview #10992
Stop silently ignoring thinking effort off for OpenRouter #10991
Dispatch edited queued messages #10933
Contain recipe template paths #10930
Make shell approval titles faithful #10986
Block MCP app form submissions #10985
Sanitize Bedrock tool errors #10934
Implicit OAuth during model discovery #10929
Keep ACP session naming out of live conversations #10963
Sanitize Unicode tags in MCP resources #10746
Preserve RFC 9207 iss from MCP OAuth callback #10678
Shell ACP providers on desktop #10907
Stop killing streaming responses at the total request timeout #10620
Restore final_output_tool when agent is recreated after LRU eviction #10793
Avoid O(n²) cloning during session load #10665
Prefix child stderr log target so it passes the default goose=info filter #10901
Fall back to static model list only for non-models payloads #10189
Stdio extensions silently skipped when name missing or env: used in config #10773
Start scheduler at startup instead of first ACP connection #10766
Respect disabled builtin extensions (developer) at session start #10223
Parse PyPI requirements for OSV checks #10510
Contain voice file extensions in telegram #10456
Preserve denied tool request precedence #10612
Contain subdirectory hint discovery #10545
Clear stale validation error when reopening the schedule modal #10627
Sanitize shell/subprocess call in linux.rs #10748
Unlink destination before copying binaries #10705
Honor timeout_seconds on the Anthropic declarative provider #10440
Allow removing images when editing user messages #9979
Preserve thinking inline for Cerebras models that reject reasoning_content #10774
Make CLI streaming render incremental instead of O(n^2) #10487
Together provider: parse model list response #10576
DeepSeek model names to v4 API #10729
Forward Claude Code and Pi model picker selection to the adapter #10675 , #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
Preserve featured model size on delete and backfill missing sizes #10422
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 so hermit can clone its package registry in Flatpak #10511
Forward image content chunks to client during live ACP 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 the connection #10499
Avoid local inference Metal teardown crash #10508
Enable indexmap serde support for musl builds #10507
Scroll chat to the 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 in developer extension #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 the 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
Compact disabled during approval #10089
Treat empty-string finish_reason as non-terminal in streaming #10258
Gemini OAuth onboarding #10363 , #8905
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
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
Tolerate partial Responses output items #10108
Always use OpenAI-compatible "parameters" for tools in Databricks #10101
Unescape shell-escaped image paths #10098
Seed mac auto-update config #10132
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
Use session.message_count for schedule sessions listing #10026
Support streamed tool calls without indexes #10023
Disable extended thinking for fast-model operations #9815
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
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
Do not pass temperature to ChatGPT Codex provider #9931
Sanitize extension environment maps #9884
GCP: use refreshed gcloud token after reauth (retry Vertex AI on 401/403) #9849
Start a turn when /goal or /grind is set #9801
Pass thinking config to Bedrock Anthropic models #9794
Keep extensions icon visible after switching sessions #9787
Skip non-recipe project config files in summon #9808
Dedup duplicate tool-call ids within a turn #9792
Resolve bundled extensions from discovery #9759
Custom OpenAI provider dropping port when URL scheme is omitted #9730
Preserve Windows backslash paths in custom extension command #9741
Include agentInfo in ACP initialize response #9765
ACP cancel race condition #9804
Inherit login-shell PATH in spawned subagents #9737
Accept string values for GOOSE_CONTEXT_LIMIT #9738
Clear rejected OAuth credentials after refresh #9694
Keep extended thinking within the Anthropic output cap #9814
Disable RPM build-id links #9671
Preserve custom API path in base_url derivation for OpenAI #9649
Handle resume deep links #9298
Repair PATH for plugin hook commands #9615
Restore Cmd/Ctrl+T new chat shortcut #9614
Lead with extension description, shorten HTTP/SSE transport label #9653
Mention menu icon to open the sidebar #9643
Dedupe React to prevent multiple instances in renderer #9631
Add hermit cleanup to uvx and jbang scripts #9616
Use blocking OTLP HTTP exporter #9599
Fall back to default provider when resuming session with unavailable provider #9547
Provide Tokio runtime for OTLP HTTP exporter batch thread #9541
Read meta.n_ctx from /v1/models to fix context limit for local servers #9530
Align session history scrollbar with window edge #9601
Refresh session name in sidebar after rename #9543
Show resolved skill supporting file paths #9584
Implement real Bedrock streaming via ConverseStream API #9579
Record OpenAI-native cached_tokens in usage metering #9829
Add option for overriding API URL for Moonshot provider #9819
Detect image paths with spaces #9387
Restore new chat shortcut navigation #9528
Evict stale completed tasks to prevent unbounded memory growth in summon #9514
OAuth: time out the MCP callback wait instead of hanging in WSL #9536
Warn on unmatched extension names in summon delegate #9513
Deleting a recently created session and then creating a new shows the deleted session's content #9351
Propagate elicitation decline and cancel actions end-to-end #9437
Close modal when canceling recipe parameter form #9195
Ensure tool request timestamp precedes tool response timestamp #9462
Correctly map ollama_cloud to canonical provider #9639
Incorrect max tokens values for groq provider #9790
Mark stream decode errors retryable #9723
Classify Bedrock ValidationException as ExecutionError #9735
Page through all Databricks AI Gateway v2 endpoints when listing models #9753
Preserve unparseable extension entries during config refresh #9439
Sync slash help with builtins in CLI #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
Prevent login-shell PATH probe from suspending goose on startup #8804
Exclude preprompt from session title generation #8793
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
Model picker stays usable during provider loading #8900
Handle ACP requests concurrently #8781
Apply hermit env directly in node shims so a fish login shell doesn't break MCP startup #10028
Preserve command arguments through extension forms #10527
Enforce manual approval for code mode #10528
Confine app file operations #10481
Preserve recursive schema types with pctx 0.4.1 in code-mode #10572
Use shell working directory on initial 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
Overlong function names in provider requests #10659
Preserve ACP tool call update fields #10653
Omit disabled OpenRouter reasoning #10517
Clear stale pending ACP connection after terminal recovery failure #10552
Confirm pending steer message on queuedSteer notification #10532
Restore dynamic model discovery and current Grok support #10756
Reuse parent provider for summon delegates #10754
Skip permission mode negotiation for Pi #10701
Freeze turn-context timestamp at turn start to preserve prefix cache #10734
Refresh Moonshot model list with current Kimi lineup #10696
Update Kimi-code known models metadata with current platform lineup #10713
Avoid double loading full conversation on session open #10794
Recover malformed tool calls from GLM/Minimax models instead of rejecting them #10230
Restore cursor when configure exits #4889
🔧 Improvements
Keep turn-context out of the OpenAI-compatible prefix cache #10937
Keep turn-context out of the Anthropic prefix cache #10030
Parallelize provider resolution and eagerly init SQLite pool #8899
Deduplicate _goose/providers/list RPC call at startup #8873
Compact tool schema JSON #10409
Drop debug info for dependencies in the dev profile #9843
Use LRU cache for token counting #9586
Mergeable configs with cleanup #8378
Structured per-provider config block with non-destructive provider switching #8977
Linux musl CLI builds #9240
Windows CUDA release artifacts #8750
Linux desktop Vulkan packages #9323
Migrate desktop routing to React Router 8.3.0 #10971
Upgrade to rmcp 3.0 #10789
Handle MCP tool list change notifications #e7088ee
Redesign Extensions page #8940
Redesign skills library #8868
Dark mode inline code styling for message bubbles #10861
Refine dark theme message surfaces #10693
Inline code contrast improvement in light theme #9058
Polish sidebar navigation and project icons #8896
Simplify UI customization #9353
Better parsing of pasted HTML as markdown so agents understand #9190
Remove CLI project support #10838
Deprecate and remove ui/text TUI #10799
Remove MCP sampling support #10087
Make context exceeded checker more precise #9831
Update canonical model inventory #10352 , #9709 , #9551 , #9331
Add canonical thinking modes #9743
Nushell terminal and completion support #8628
Migrate diagnostics to JSON report #9964
Route MCP elicitations through tool streams #9943
Allow unlisted models in search #9933
ACP paginate session list #9199
Flush OTLP traces reliably on exit with configurable timeout #9228
Increase /mcp-app-guest body limit for larger single-file MCP apps #10324
Use current_exe() instead of PATH lookup when spawning goose #9236
Set TCP_USER_TIMEOUT on streamable HTTP clients in extension_manager #9207
Fail closed on unverifiable update provenance #10168
Trim macOS desktop entitlements #10490
Consolidate and harden release workflows #10447
Update Rust toolchain and raise recursion limit #10303
Enhance the uniffi API layer #10427
Bound code-mode execution with timeout and cancellation #10214
Switch local inference MLX backend to use safemlx crate #10304
Preserve thinking content for providers that require it #8857 , #9314
Build summon instructions per turn #9329
Refactor local inference around backends #9137
Stricter GGUF requirements with auto detection of tool calling support and fixed thinking output parsing #9442
Prefer goose aliases for Databricks v2 inventory #9430
ACP migration: UI connect to ACP directly instead of goosed #10081
Unified OTLP logging schema for cross-tool detection #9713
Pattern-based detection updates for prompt injection #9350 , #9198 , #9690 , #8546
Enable prompt injection mitigation by default for internal users #9612
OpenAI Responses API store param configurable #10040
GitHub Copilot /responses API #9043
Check for responses API support in Databricks #9347
Honor Retry-After on 429 responses #9161
Coalesce streaming Thinking deltas and list available tools on not-found #9162
Strip chain-of-thought markers from custom provider output #8635
Coalesce streaming chunks under one message id in ACP #8788
📚 Documentation
Document auto-injected GOOSE_SHELL flags #10759
Clarify macOS sandbox feature was removed in post-v1.25.0 cleanup #10900
Update Discord invite #10863
Update environment and config references #10203
Document hook deny contract, matcher regex, tool_input keys, and provider config #10467
Add Code of Conduct #10424
Adopt issue-first contribution workflow #10819
Update docs for ACP clients #9772
Hooks guide #9288
Custom agents guide #9293
Guide for connecting goose Desktop to a remote goosed server #9275
Document summon extension requirement for delegate and load tools #9231
Refresh Ophis extension page (tool list, chains, skills link) #10681
Clean up stale documentation audit findings #10114
Reorganize docs #9310
Blog: Goose with Peekaboo #8884
Blog: Built-in Local Inference #8808
Blog: Orchestrating with Goose #9104
Blog: Self-improving agents #9846
Blog: AAIF migration #9866
Blog: MiniMax and Office QA benchmark findings #8984
You can’t perform that action at this time.