Releases: anomalyco/opencode
Releases · anomalyco/opencode
v1.14.50
Core
Bugfixes
- Kept HTTP event streams open after the initial connect event so subscribers continue receiving instance updates.
- Returned proper busy errors when a session is already running prompt or shell work.
- Let invalid
small_modelconfig values fall back cleanly instead of breaking small-model selection. - Improved missing-model errors with suggestions across CLI and typed callers.
TUI
Improvements
- Restored markdown rendering for session output by default.
SDK
Improvements
- Added
instance.directoryandinstance.workspacequery support to the v2 model and provider calls.
v1.14.49
Core
Improvements
- Added the v2 model and provider listing API.
- Added DigitalOcean OAuth and Inference Router support. (@Spherrrical)
- Create a global
opencode.jsoncautomatically when no config exists. - Enable
customize-opencodeby default with a linked full schema. - Autocomplete configured
@mentionsin prompts. - Parse fenced Markdown code blocks in patch diffs by default.
Bugfixes
- Fix keymap fallback priority and make TUI config errors clearer.
- Restore model suggestions for unloaded providers and missing models.
- Preserve layered permission rule order in config merges. (@asuffield)
- Preserve attachments returned by custom tools.
- Keep recent turns after compaction instead of folding them into the summary.
- Fix prompt cursor movement and mentions for wide characters.
- Prevent duplicate submits from creating empty phantom sessions.
- Keep compacted tail history when forking a session.
- Return proper busy-session errors from the HTTP API.
TUI
Improvements
- Add pinned recent sessions, quick slots, and recent-session cycling.
Bugfixes
- Restore non-interactive
runexit behavior. - Make the websearch provider label update reactively. (@NormallyGaussian)
- Reduce flicker when switching workspaces.
- Fix
run --jsonoutput draining. - Fix prompt history and line up/down commands.
Desktop
Improvements
- Add Ctrl/Cmd+number shortcuts to switch projects.
- Remember whether the todo dock is collapsed.
- Restore AppStream metadata in Linux desktop builds.
Bugfixes
- Show clearer wrapped server errors in the app. (@OpeOginni)
- Use the login shell when loading desktop environment variables. (@qwq202)
- Remember the selected model variant when switching sessions or projects.
- Open the next available project when closing the current one.
- Prevent streamed Markdown from being cut off.
Thank you to 5 community contributors:
- @NormallyGaussian:
- fix(tui): make websearch provider label reactive (#26943)
- @Spherrrical:
- feat(plugin): add DigitalOcean OAuth + Inference Routers (#26095)
- @asuffield:
- fix: preserve permission ordering by accepting a layered array (#23214)
- @qwq202:
- fix(desktop): resolve login shell when loading env (#26449)
- @OpeOginni:
- fix(app): enhance error handling by unwrapping SDK-wrapped errors in formatServerError (#27061)
v1.14.48
Core
Improvements
- Preserve original image attachments instead of resizing them before sending them to the model
v1.14.47
Core
Bugfixes
- Restored prompt editing keybindings in the TUI textarea, including aliases like
escandenter - Model changes now persist reliably across session activity
- HTTP API schema validation errors now return a readable 400 response body
Improvements
- Scout can now materialize configured reference repositories up front so they are ready to search
- Large image attachments are now auto-resized before sending, with configurable size limits
TUI
- File and directory paths now render relative to the session directory when possible
v1.14.46
Core
Improvements
- Added a built-in
customize-opencodeskill so opencode config edits are less likely to break startup.
Bugfixes
- Fixed numeric HTTP API query parameters in the generated OpenAPI spec and SDK for session and file endpoints.
- Fixed boolean HTTP API query handling so SDK types and runtime validation stay aligned.
- Tolerated legacy stored numeric values in sessions, diffs, and retry events instead of failing to load old data.
- Fixed old sessions with negative token counts causing message loads and Desktop startup to fail.
- Fixed MCP tool discovery when a server publishes broken
outputSchemareferences. - Fixed workspace HTTP API query drift so workspace-routed endpoints expose the right query parameters in OpenAPI and the SDK.
- Fixed a Plan Mode security bypass where subagents could ignore parent-agent deny rules.
v1.14.45
Core
Bugfixes
- Provider configs and API responses now accept models marked as
active. - Read tool permission rules now match worktree-relative paths, so read allowlists and denylists apply correctly.
- Workspace-routed HTTP API endpoints no longer reject valid
directoryandworkspacequery params.
TUI
Bugfixes
- Startup errors now report every failed bootstrap request instead of only the first one.
- Opening a session no longer crashes when the messages request fails.
Desktop
Bugfixes
- Older migrated sessions with missing diff file details load again.
- Older migrated sessions with missing diff patches load again. (@OpeOginni)
SDK
Bugfixes
throwOnError: truenow throws a realErrorwith the server message and preserves the response body incause.
Extensions
Improvements
- TUI plugins using the deprecated
api.commandAPI keep working while you migrate toapi.keymap.
Bugfixes
- Provider plugins can no longer mutate shared provider model state for the rest of the app.
Thank you to 1 community contributor:
- @OpeOginni:
- fix(sessions): allow optional patch field in diff for migrated sessions (#26574)
v1.14.44
Core
Bugfixes
- Fixed upgrades failing for existing workspaces when adding the
time_usedfield.
v1.14.43
Core
Bugfixes
- Keep provider and config API responses working when auth loaders add non-JSON options to providers.
- Include tool image attachments in ACP updates and session replays. (@SteffenDE)
Thank you to 1 community contributor:
- @SteffenDE:
- fix(acp): include tool image attachments in updates (#25128)
v1.14.42
Core
Improvements
- Added HTTP API response compression for large non-streaming responses.
- Added the Scout agent for repo research, docs lookup, and dependency-source inspection.
- Added workspace sync so adapter-backed workspaces can be discovered and registered automatically.
- Added an interactive split-footer mode for
opencode run. - Simplified TUI keybinding config into a flat keybind format.
- Made duplicate worktree names fall back to the parent directory for clearer labels.
Bugfixes
- Fixed HTTP API auth responses to match the previous wire format for empty authorize results and share errors.
- Returned structured validation errors from the HTTP API.
- Rejected invalid permission and question IDs in the HTTP API.
- Included auth challenges on typed HTTP API
401responses. - Fixed the HTTP API OpenAPI document route.
- Fixed detached sessions so they are claimed by the source project again.
- Forwarded
SIGINT,SIGTERM, andSIGHUPcorrectly when running through the npm shim. (@chubes4) - Allowed skills without descriptions to load correctly.
- Required auth on effect HTTP API root routes. (@RajvardhanPatil07)
- Kept tool ordering stable so tool lists stop reshuffling between runs.
- Made retry dialogs more specific to the provider and failure reason.
- Fixed Gemini reasoning controls so supported effort levels and small-mode defaults match the model.
- Fixed Anthropic Opus 4.5 reasoning effort options.
- Limited OpenAI deep research models to the reasoning level they actually support.
- Fixed GPT-5 reasoning variants so the exposed effort options match each model family.
TUI
Improvements
- Show retrying sessions as active in the project sidebar. (@edemaine)
Bugfixes
- Fixed the sidebar message shown for language server state. (@Polo123456789)
- Sorted the session picker by full last-updated time instead of day buckets. (@Sleepful)
- Kept longer cleared prompts in draft history so they can be restored.
Desktop
Improvements
- Switched desktop updates to silent per-user install flow.
Thank you to 5 community contributors:
- @edemaine:
- feat(desktop): working indicator on project sidebar (#26223)
- @RajvardhanPatil07:
- fix(server): require auth for effect root routes (#26361)
- @chubes4:
- fix(cli): forward signals from npm shim (#26259)
- @Sleepful:
- fix(tui): sort session picker by full updated timestamp (#24725)
- @Polo123456789:
v1.14.41
Core
Bugfixes
- Restored formatter output handling so formatting still works when formatters write to stdout or stderr. (@ferdinandyb)
Improvements
- Warping a session to another workspace can now carry over your uncommitted file changes.
TUI
Bugfixes
- Restored custom provider setup in
/connect.
Desktop
Bugfixes
- Added a macOS Settings menu entry. (@jessedi0n)
Improvements
- Moved the desktop app's local server into a separate utility process for more reliable startup and shutdown.
Extensions
Improvements
- ACP clients now restore the last model, mode, and effort when loading sessions, and can close sessions cleanly.
Thank you to 4 community contributors:
- @carmithersh:
- docs: add opencode-jfrog-plugin to ecosystem list for JFrog integration (#26019)
- @jessedi0n:
- fix(desktop): add macOS settings menu entry (#26081)
- @ferdinandyb:
- fix(format): restore stdout/stderr ignore for formatter processes (#26037)
- @YGoetschel:
- fix: guard undefined contents in diff renderer to fix share viewer SSR crash (#21763)