Release notes
Goose v1.41.0
✨ Features
- iFlytek Spark and Astron MaaS providers (#9837)
--editsession 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)
/statusslash 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) /modelslash 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)
/goalcommand 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 reviewlocal 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)
tuicommand on goose-cli (#9385)- Configurable
MAX_CODE_BLOCK_LINESvia env vars (#9301) goose://resumesession deep link (#9343)GOOSE_FAST_MODELenv 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
--parametersfor scheduled recipes (#8741) - GitHub Copilot
/responsesAPI (#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_PORTfor stable OAuth redirect_uri (#9209)- Proactive OAuth token refresh to avoid re-auth on every session (#8386)
goose://new-sessiondeep 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.5model support for ChatGPT Codex provider (#9292)
🐛 Bug Fixes
- Canonical model output paths (#10196)
- ACP agent cleanup errors propagation on session delete (#10112)
claude-sonnet-5added 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)
/editprompts 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 servemode (#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
/goalor/grindis 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/modelsfor 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)
…