OpenCode 2 v2.0.29: responses continue past output limits, desktop cost view#

Published by

Part of the OpenCode 2 Version Tracker series. | OpenCode on GitHub | OpenCode 2 docs

OpenCode 2 v2.0.29 follows v2.0.28 with a core change that lets a model keep writing past its output token limit (#53876), a round of desktop app work that adds a per-session token and cost view (#53785) and device pairing (#55306), and a config change that promotes the policies setting to a stable top-level key (#55297).

Core behavior#

When a model stops at its output token limit partway through a response, the core now continues the response instead of ending the turn there (#53876). That applies across every client that drives the core, the terminal, the desktop app, and the web UI.

Three config changes land next to it. The policies setting, which the config surface has carried under the experimental namespace, is promoted to a stable top-level key (#55297). Managed configuration now takes highest precedence over other sources (#55267). And a v1-style npm config can target the built-in provider routes rather than failing to resolve them (#55254).

Desktop app#

Most of the feature work in this range is in the desktop app.

ChangeWhat It Does
Session cost viewThe session view now shows that session's token usage and cost (#53785).
Device pairingThe desktop app can pair into a running server through remote access (#55306), the same one-time-link flow the opencode pair command drives: single-use links, expiring after five minutes, that sign a browser or app in to the server.[1]
Provider accountsThe app can manage provider accounts, and the Console connect intro is restored (#54101).
Image previewsImage previews gain trackpad zoom and pan (#54590), and restored or open file tabs keep raw media bytes up to 256 MiB for artifact previews (#55018).
Diff colorsThe diff view's colors are refined (#52551).

Smaller polish rounds out the app: the question composer is refreshed (#54822), side-panel tabs cycle when the side panel is focused (#54899), unread dots move into the tab container (#53570), browser tabs close from the address field (#54501), and a project store eviction loop that could run on launch is stopped (#55078).

Plugins#

Plugins can now assert permissions (#54930). A plugin-hook fix keeps each Promise hook rejection attached to its own tool call rather than merging them (#55263). The Figma plugin moves to the public Figma endpoint with OAuth defaults (#55252), resolves its peer dependency from the workspace (#55269), and supports Git installs and dev releases (#55304).

Terminal#

The terminal client reports a session's pending status to the terminal itself (#55172). An attempt to move the terminal UI to OpenTUI 0.6.2 landed and was reverted within the same range (#55083, #55300), so the rendering layer is unchanged.

What this tells us#

The feature weight in v2.0.29 sits in the desktop app. A session view that reports tokens and cost, device pairing into a running server, provider account management, image-preview zoom, and diff-color work all land in one range. The 1.x line ships a terminal interface only; v2 runs a background server that a terminal, a web UI, and a desktop app all attach to, and this release fills in the desktop client against that server. Among the harnesses, Claude Code, Codex CLI, and Gemini CLI are terminal-first and Amp adds an editor extension, so a first-party desktop app with a per-session cost view is a surface those lines do not carry.

The config changes form a second thread. Promoting policies to a stable top-level key (#55297), letting plugins assert permissions (#54930), and giving managed configuration the highest precedence (#55267) build out a permissions and config-precedence surface, the kind that matters when a deployment is centrally managed rather than configured per machine.

The core change travels with all of it. Continuing a response past the output token limit (#53876) is written once in the core and reaches the terminal, desktop, and web clients alike, which is the payoff of v2's shared-server shape over the per-interface handling the 1.x line carried.

This analysis is based on publicly available open-source code and release metadata, conducted for educational and research purposes. All trademarks and software referenced belong to their respective owners.


Sources#

  1. opencode pair device pairing: OpenCode 2 docs, CLI commands
  2. Continue responses past output token limits: #53876
  3. Stable top-level policies config: #55297
  4. Managed configuration precedence: #55267
  5. v1 npm config targets built-in provider routes: #55254
  6. Desktop session tokens and cost: #53785
  7. Desktop device pairing through remote access: #55306
  8. Desktop provider accounts and Console connect intro: #54101
  9. Image preview zoom and pan: #54590
  10. Diff view colors: #52551
  11. Plugins assert permissions: #54930
  12. Plugin hook rejection isolation: #55263
  13. Figma plugin endpoint and OAuth defaults: #55252
  14. TUI pending session status: #55172

Previous OpenCode 2 analysis: v2.0.28 (October 14, 2026)

All 12 OpenCode 2 analyses: OpenCode 2 Version Tracker · Official OpenCode 2 changelog