v1.14.29
anomalyco/opencodev1.14.29Apr 28, 2026by opencode-agent[bot]
AI Summary
The release introduces session relative paths, sanitizes tool schemas for Moonshot and Kimi, and adds Roslyn LSP support for Razor and C# files.
Key Highlights
- Sessions now keep a relative workspace path.
- Moonshot and Kimi tool schemas are sanitized to avoid rejected tool calls.
- MCP OAuth errors now match the native API more closely.
- Added Roslyn LSP support for Razor, `.cshtml`, and C# script files.
- Shell cancellations now finish cleanly instead of leaving aborted commands in a bad state.
New Features
- Roslyn LSP support for Razor, .cshtml, and C# script files
Full Release Notes
## Core - Sessions now keep a relative workspace path. - Moonshot and Kimi tool schemas are sanitized to avoid rejected tool calls. - MCP OAuth errors now match the native API more closely. - Provider OAuth authorize errors now match the native API more closely. - Shell cancellations now finish cleanly instead of leaving aborted commands in a bad state. - Creating a session over HTTP now works with an empty request body. - Workspace HTTP API routes are now mounted through the bridge. - Tool streaming now defaults off for non-Anthropic models when using the Anthropic SDK. - DeepSeek OpenAI-compatible setups now keep `reasoning_content` interleaved by default. - The experimental LSP tool now forwards the workspace symbol query. - Google Vertex now defaults tool call streaming off. ## TUI - Zed context polling stays responsive. - Pressing Enter in dialogs now triggers the dialog instead of leaking through. (@CasualDeveloper) - File context is clearer, can be turned off, and clears after sending. - `opencode agent create` now writes a valid `permissions.deny` config. (@21pounder) ## Desktop - Per-workspace icon overrides now stay applied for subdirectories in the same repo. - Sync state loading is more reliable for MCP, LSP, and workspace refreshes. **Thank you to 3 community contributors:** - @21pounder: - fix(opencode): agent create generates permissions field with deny ins… (#24482) - @SeashoreShi: - docs: fix duplicated word in CLI env var table (#24614) - @CasualDeveloper: - fix(tui): consume Enter in dialog useKeyboard handlers (#23390)