Features
- Multi-chat support - Added ability to manage multiple chat sessions (#6428) (@zanesq)
- Standalone MCP apps - Support for standalone MCP applications (#6458) (@DOsinga)
- User configurable templates - Allow users to customize templates (#6420) (@DOsinga)
- Flatpak support for Linux - Added Flatpak packaging for Linux distributions (#6387) (@The-Best-Codes)
- GCP Vertex model list with org policy filtering - Enhanced model listing with organization policy support (#6393) (@rabi)
- Parallel sessions with isolated agent state - Enable parallel sessions in goose-acp (#6392) (@codefromthecrypt)
- CLI permission prompts - Ask for permission in the CLI (#6475) (@DOsinga)
- Customizable new line keybinding in CLI - Allow customizing the new line keybinding (#5956) (@trobrock)
- Graceful fallback for keyring failures - Better handling when keyring is unavailable (#5808) (@sheikhlimon)
- Format large/small token counts for readability - Improved token count display in UI (#6449) (@aharvard)
- Support prefersBorder option for MCP Apps - UI enhancement for MCP apps (#6465) (@aharvard)
- Exclude subagent tool from code_execution filtering - Allow subagent delegation in code execution mode (#6531) (@rabi)
- Standardize agent-session-id for session correlation - Improved session tracking across providers (#6626) (@codefromthecrypt)
- MCP server for recipes - Added MCP server support for recipes (#6552) (@dianed-square)
- Optional request params and context limit from GOOSE_PREDEFINED_MODELS - Extended model configuration options (#6489) (@zanesq)
Bug Fixes
- Fix: exclude platform_schedule_tool in CLI (#6442) (@lifeizhou-ap)
- Fix: apply subrecipes when using slash commands (#6460) (@angiejones)
- Fix: handle model quirks with tool calls in code_execution (#6352) (@rabi)
- Fix: clean up result recording for code mode (#6343) (@alexhancock)
- Fix: Handle Gemini thoughtSignature for tool calls on OpenRouter (#6370) (@rabi)
- Fix: Recipe slash command doesn't work with single optional parameter (#6235)
- Fix: support global .gooseignore and negation patterns (#6157) (@leocavalcante)
- Fix: require auth when running goose on non loopback address (#6478) (@michaelneale)
- Fix: Improve error messages for invalid tool calls (#6483) (@jasoncarr0)
- Fix: make tool_call arguments optional and fix silent stream termination (OpenAI) (#6309) (@rabi)
- Fix: serialize record_result output as JSON in code_execution (#6495) (@rabi)
- Fix: 0 token in OpenRouter streaming (#6493) (@lifeizhou-ap)
- Fix: correctly parse extension name from tool call for MCP apps (#6482) (@aharvard)
- Fix: deeplink UI repeat on refresh (#6469) (@Yorisoft)
- Fix: popular topics not starting chat when clicked (#6508) (@zanesq)
- Fix: don't add escaping to the command field (#6519) (@jamadeo)
- Fix: omit structured_content when None instead of serializing as null (#6499) (@aharvard)
- Fix: update ui/message to use ContentBlock[] for content for MCP apps (#6546) (@aharvard)
- Fix: Missing instructions in goose/CONTRIBUTING.md (#6565)
- Fix: scrollbar flicker in sidebar animation (#6564) (@The-Best-Codes)
- Fix: sync all MCP prompt messages to session before agent reply (#6566) (@angiejones)
- Fix: undo regressions for extension loading (#6568) (@michaelneale)
- Fix: resolved all the extensions to load in CLI (#6464) (@lifeizhou-ap)
- Fix: path for global agent skills (#6591) (@emma-squared)
- Fix: actually set the working dir for extensions from session (#6612) (@zanesq)
- Fix: accumulated token count (#6587) (@lifeizhou-ap)
- Fix: propagate session_id across providers and MCP (#6584) (@codefromthecrypt)
- Fix: fixed line breaks (#6459) (@angiejones)
Improvements
- Performance: avoid accumulating thoughtSignatures across conversation history (Google) (#6462) (@rabi)
- UI: Goose branding on desktop (#6563) (@angiejones)
- UI: add back goose branding to home (#6617) (@zanesq)
- UI: Update session name in UI in real-time (#6533) (@arielahdoot)
- UI: Use Intl.NumberFormat for token formatting in SessionsInsights (#6466) (@aharvard)
- Don't show MCP UI/Apps until tool is approved (#6492) (@DOsinga)
- Encourage extension searching (#6582) (@michaelneale)
- Upgrade rmcp (#6516) (@alexhancock)
- Remove unused dependencies in cargo.toml (#6561) (@lsytj0413)
- Install goose-mcp crate dependencies (#6632) (@jamadeo)
Documentation
- Add Ralph Loop tutorial for multi-model iterative development (#6455) (@blackgirlbytes)
- Remove gitignore fallback from gooseignore docs (#6480) (@emma-squared)
- Fix extensions page (#6484) (@dianed-square)
- Manual config for JetBrains (#6490) (@dianed-square)
- ACP MCP support (#6491) (@dianed-square)
- Copilot instruction to flag prerelease docs (#6504) (@dianed-square)
- Clarify directory in /documentation readme (#6541) (@dianed-square)
- Temp correction for agent directory (#6544) (@dianed-square)
- Add short link for Council of Mine MCP tutorial (#6545) (@EbonyJLouis)
- Add MCP sampling blog (#6547) (@EbonyJLouis)
- Prevent docs deploy from being cancelled by PR previews (#6553) (@blackgirlbytes)
- HTTP proxy environment variables (#6594) (@dianed-square)
- Max tokens config (#6596) (@dianed-square)
- Added goose doc map md file for goose agent to find relevant doc easily (#6598) (@lifeizhou-ap)
- Todo tutorial update (#6613) (@dianed-square)
- Tweak release docs (#6571) (@michaelneale)
- Mobile apps consolidation and roadmap blog (#6580) (@michaelneale)