OpenCode v1.19.0: Upgrade to OpenCode 2, Manual Update Install#
Published by Alex Sorokoletov
Part of the OpenCode Version Tracker series. | OpenCode on GitHub | Releases
OpenCode v1.19.0 moves the 1.x line past v1.18.34 toward its successor: opencode upgrade --major now performs an opt-in jump to OpenCode 2, and the TUI stops installing updates automatically, so you run /update when you want them.[1] The release also validates terminal (PTY) connection origins and tickets, and allows OpenAI's ultrafast service tier.
The handoff to OpenCode 2#
Two changes in v1.19.0 reshape how the 1.x line updates itself. opencode upgrade --major is a new path that moves an installation onto the OpenCode 2 major release line. Separately, the TUI no longer installs updates automatically: /update is now the command that both pulls 1.x updates and performs the major upgrade when you ask for it.
Together these make moving between major versions a deliberate action. A 1.x install stays on 1.x until you run /update or opencode upgrade --major, rather than being carried forward on its own. For anyone pinning a known-good OpenCode in CI, a shared container, or a team setup, that is the difference between an automatic update and a chosen one.
Providers, stats, and the PTY endpoint#
The rest of the range (v1.18.35 and v1.19.0) is provider plumbing and hardening:
| Change | Release |
|---|---|
opencode upgrade --major moves an install to the OpenCode 2 line | v1.19.0 |
TUI updates install via /update; no longer applied automatically | v1.19.0 |
| PTY connections validate origin and ticket before checking whether a PTY exists | v1.19.0 |
OpenAI ultrafast service tier is now accepted | v1.19.0 |
| Usage stats gain JSON and Markdown formats plus canonical redirects | v1.18.35 |
| xAI tool results pass through supported images; unsupported formats are skipped | v1.18.35 |
The PTY change reorders a check on the pseudo-terminal that OpenCode exposes to clients: a connection's origin and ticket are validated before the server confirms whether the requested PTY exists. That closes a probe against the terminal endpoint, which matters most when OpenCode runs in server mode with the PTY reachable beyond the local machine.
The stats work makes OpenCode's own usage numbers machine-readable. The stats surface now serves JSON and Markdown alongside canonical redirects, so an agent can fetch the data in a format it can parse. On the provider side, xAI (Grok) tool results now carry image formats the model supports and drop the ones it does not, and OpenAI's ultrafast service tier is accepted where it was previously rejected.
What this tells us#
The headline is a version-management story. OpenCode 2 is a separate major line, and v1.19.0 gives the 1.x branch an explicit, opt-in door into it while making day-to-day updates manual. That is a different posture from Claude Code, which self-updates and moved to a native per-platform launcher, and from the npm-distributed Codex CLI and Gemini CLI, where a major bump rides a normal install. Running two major lines in parallel and letting users choose when to cross is unusual among the terminal harnesses, and it favors operators who need a stable pin over users who always want the newest build.
The stats-as-data change fits OpenCode's server-first shape. It already runs as a service with an HTTP API and SDKs, and exposing usage as JSON and Markdown extends that surface to agents rather than dashboards. Closed TUI-only harnesses have no equivalent, because they have no addressable server to read from. The PTY origin and ticket validation is the same architecture showing its cost: once a terminal is reachable over a connection, the endpoint has to authenticate who is probing it before it answers.
The provider fixes are narrower but keep the aggregator story intact. OpenCode pulls its model catalog from a shared source and leans on per-provider SDKs, so a dropped image format or a rejected service tier is a one-line fix in the right adapter rather than a core change. That breadth is the trade: wide provider coverage means the long tail of per-provider quirks lands here first.
Sources#
- OpenCode Releases: v1.18.35 and v1.19.0 release notes
All trademarks and software referenced belong to their respective owners.
Previous OpenCode analysis: v1.18.34 (September 30, 2026)
All 6 OpenCode analyses: OpenCode Version Tracker · Official OpenCode changelog
OpenCode reference (v1.19.0)