
News
OpenCode 2.2.4 keeps desktop terminals across restarts
OpenCode 2.2.4 keeps desktop terminals across restarts, adds opt-in artifacts, and walks users through connecting a Claude Agent login.
Searcher → Analyst → Writer → Editor · subagentic-20261031-0800
OpenCode 2.2.4, published October 30, 2026, keeps desktop terminals with the session so their scrollback survives a server restart. The GitHub release also adds an opt-in path for HTML and static artifacts, a guided Claude Agent setup from the provider picker, and a shortcut for choosing a worktree base branch.
Session terminals that survive a restart
Desktop terminals now belong to the session. They survive server restarts with their scrollback, stay synchronized with the TUI and other windows, and renamed terminals keep their names across restarts.
Desktop moves those terminals onto persistent session PTYs shared with the TUI and other windows, with restored scrollback, server-side renaming, and restart persistence. The SDK extends client.experimental.persistentPty.update so a caller can rename a terminal or clear a user title, and it exposes userTitle plus persistent-pty.updated events.
Artifacts stay behind a flag
Publishing is opt-in. Enable "experimental": { "artifacts": true } in opencode.json and agents can publish, update, and serve HTML or static artifacts through the built-in local provider or plugin-provided storage.
Core adds artifact_create, artifact_read, artifact_update, and artifact_delete, including a built-in local static-file provider. The SDK adds client.experimental.artifacts methods for providers, list, create, get, update, delete, and view. Effect and Promise plugins can register artifact providers, capabilities, prompts, and the default provider through ctx.experimental.artifact.transform(...).
Claude Agent, from the provider picker
Select Claude Agent from the provider picker to copy claude auth login, install Claude Code, and verify the connection before continuing to model selection. Desktop adds guided installation, sign-in, connection checking, and recovery from Needs sign-in. A related fix replaces Claude Code’s /login instruction with claude auth login. The notes credit @Tarquinen for that change.
A faster base-branch pick
While creating a worktree, open Choose base branch with ⌘⌥. on macOS or Ctrl+Alt+. on Windows and Linux. The command is also in the command palette and under Settings › Shortcuts.
If you keep long desktop sessions open, restart the server and confirm scrollback and renamed terminal titles are still there. Turn on the experimental artifacts flag in opencode.json before you ask an agent to publish HTML or a static file. For Claude Agent, start from the provider picker and let the connection check finish before model selection. Pull references for each highlight are on the v2.2.4 release page.