Release notes
Goose v1.26.0
✨ Features
- Local inference provider with llama.cpp backend and HuggingFace model management #6933
- Cerebras provider support #7339
- Moonshot and Kimi Code declarative providers #7304
- LMStudio declarative provider #7455
- Gateway to chat to goose via Telegram etc #7199
- MCP apps sampling support #7039
- Neighborhood extension in the Extensions Library #7328
- Computer controller overhaul with peekaboo #7342
- TUI client for goose-acp #7362
- GOOSE_SUBAGENT_MODEL and GOOSE_SUBAGENT_PROVIDER config options #7277
- Configurable OTel logging level #7271
- GoosePlatform in AgentConfig and MCP initialization #6931
- Gemini CLI streaming support via stream-json events #7244
- Expose context window utilization to agent via MOIM #7418
- Auto submit for recipes that have been accepted #6325
- Claude Code permission prompt routing for approve mode #7420
- Token counts displayed directly for "free" providers #7383
- Typescript SDK for ACP extension methods #7319
- Bedrock prompt cache #6710
🐛 Bug Fixes
- Windows MSVC linking issues #7511
- Searchbar z-index modal overlay #7502
- Out of order messages #7472
- Latest session always displays in sidebar #7489
- Color-scheme declaration for transparent MCP App iframes #7479
- Forward _meta in tool results to MCP Apps #7476
- Summon skill supporting files and directory path in load output #7457
- flake.nix build failure and deprecation warning #7408
- Truncated LLM responses detection in apps extension #7354
- Truncated tool calls that break conversation alternation #7424
- SQLite deadlocks with BEGIN IMMEDIATE #7429
- Correct colors for download progress bar #7390
- MOIM telling models to sleep while waiting for tasks #7377
- stderr noise #7346
- MCP app sampling support restored after revert #7366
- Skip whitespace-only text blocks in Anthropic message #7343
- goose-acp heap allocations #7322
- Trailing space from links #7156
- Low balance detection with prompt for top up #7166
- Display 'Code Mode' instead of 'code_execution' in CLI #7321
- Gemini CLI streaming restored #7291
- CLI handling of Reasoning content and streaming thinking display #7296
- OpenAI support for "reasoning" field alias in streaming deltas #7294
- UI revert app-driven iframe width and send containerDimensions per ext-apps spec #7300
- Ollama input limit override #7281
- Subrecipe relative path with summon #7295
- Extension selector not displaying correct enabled extensions #7290
- Subagent tool call notifications after summon refactor #7243
- UI preserve server config values on partial provider config save #7248
- Allow goose to run inside a Claude Code session #7232
- OpenAI route gpt-5 codex via responses and map base paths #7254
- Filter models without tool support from recommended list #7198
- Google thoughtSignature vagaries during streaming #7204
- Settings tabs getting cut off in narrow windows #7379
🔧 Improvements
- Simplified custom model flow with canonical models #6934
- Simplified text editor to be more like pi #7426
- CLI update replaced shell-based with native Rust implementation #7148
- OpenAI responses models with hardened event streaming handling #6831
- Canonical Models for context window sizes #6723
- Command to validate bundled extensions json #7217
- Unified streaming across all providers #7247
- New navigation settings layout options and styling #6645
- MCP-compliant theme tokens and CSS class rename #7275
- Redirect llama.cpp logs through tracing #7434
- Display working directory in UI #7419
- Remove allows_unlisted_models flag, always allow custom model entry #7255
- Local model settings access from bottom bar model menu #7378
- Use model ID everywhere for local model API #7382
- Improved link confirmation modal #7333
- Upgrade to rmcp 0.16.0 #7274
- Use working dir from session #7285
- Apps token limit #7474
- 3rd-party license copy for JavaScript/CSS minified files #7352
- Client settings improvements #7381
- Open recipe in new window passes recipe id #7392
📚 Documentation
…