OpenCode adds minimal mode with native scrollback and plugin tracing
OpenCode previewed a non-fullscreen minimal mode that keeps native terminal scrollback intact while refactoring core logic into internal plugins with tracing. The update matters because terminal-first users get steadier sessions and plugin hook performance becomes easier to inspect.

TL;DR
- OpenCode previewed a new minimal mode that runs without a fullscreen TUI, and thdxr's preview says the design goal is to preserve native terminal scrollback instead of rewriting the screen.
- The tradeoff is visible movement around the composer, which pvncher's reply called out, while thdxr's follow-up says the team tried and failed to pin the input to the bottom.
- On the architecture side, thdxr's tracing post says OpenCode is breaking much of its own logic into internal plugins, then using tracing to see which hooks fire and where performance goes.
- That tracing work lands on top of a broader OpenCode refresh that superdoteng's demo framed around a native GUI, inline diffs, richer tool calls, and provider switching, while v1.14.37 and v1.14.39 show rapid follow-on fixes in desktop rendering and proxy support.
You can watch the minimal mode preview, browse the v1.14.37 release for the session-rendering changes that shipped just before it, and inspect the tracing screenshot to see plugin hook timings down to individual spans.
Minimal mode
The interesting part of minimal mode is not just that it is smaller. According to thdxr's preview, it avoids the fullscreen redraw pattern entirely, so terminal history stays in the shell's own scrollback instead of being managed by a TUI layer.
That design still has rough edges. In the thread, pvncher asked about the composer bouncing around, thdxr's reply said pinning it to the bottom did not work, and a later follow-up adds that the movement is most obvious on an empty terminal and should calm down once there is a page of output.
Internal plugins and tracing
OpenCode is also using its own refactor as a forcing function on the plugin API. thdxr's post says the team is moving most of the app's logic into internal plugins specifically so weak spots in the plugin interface become obvious.
The new tracing view makes that refactor inspectable. The screenshot attached to the post shows per-hook timings, span IDs, plugin names, and run metadata, which is the kind of instrumentation you want once providers, tools, and desktop integrations all start hooking the same execution path.
Recent OpenCode surface area
The minimal-mode preview is landing in the middle of a very busy release stretch. superdoteng's demo listed native GUI chat, terminal switching, inline diffs, a git panel, message queueing, steering, rich tool calls, and mid-conversation provider switching as part of a major upgrade.
The release notes fill in the plumbing behind that demo. v1.14.34 added PTY tickets for terminal WebSockets, v2 session failure events, shell handling across Bash, PowerShell, and cmd, and a fix for a large-diff memory leak, while v1.14.39 added desktop proxy-env support and safer null handling for stored values. Separately, the opencode account said OpenCode Desktop is now running on Electron.