github anomalyco/opencode v2.2.4

4 hours ago

Highlights

  • Persistent Desktop Terminals: Desktop terminals now belong to the session, survive server restarts with their scrollback, and stay synchronized with the TUI and other windows. Renamed terminals also keep their names across restarts. (#60346)
  • Publish Interactive Artifacts: Enable "experimental": { "artifacts": true } in opencode.json to let agents publish, update, and serve HTML or static artifacts through the built-in local provider or plugin-provided storage. (#60351)
  • Guided Claude Agent Setup: Select Claude Agent from the provider picker to copy claude auth login, install Claude Code, and verify the connection before continuing to model selection. (#60603)
  • Choose a Base Branch Quickly: While creating a worktree, open Choose base branch with ⌘⌥. on macOS or Ctrl+Alt+. on Windows and Linux. The command is also available in the command palette and Settings › Shortcuts. (#60579)

Core

Improvements

  • Added opt-in artifacts with artifact_create, artifact_read, artifact_update, and artifact_delete, including a built-in local static-file provider. (#60351)
  • Made enabled schedules run under opencode serve and coordinated multiple server processes so a schedule fires only once. Schedules remain opt-in through experimental.schedules. (#60478)
  • Raised OpenCode Go limits for DeepSeek V4.1 Flash. (#60625)

Bug fixes

  • Allowed user, project, and remote configuration to override Console-supplied provider names, limits, variants, settings, and headers. (#60597)
  • Kept local OpenCode service requests out of environment-configured proxies. (#60441)
  • Replaced Claude Code’s misleading /login instruction with claude auth login. Thanks @Tarquinen. (#60592)

TUI

Bug fixes

  • Preserved prompt cursor styles applied by plugins when themes or unrelated prompt state change. (#60599)
  • Added missing right padding to edit and patch diffs. (#60614)
  • Extended the vertical session-tab activity pulse across the full tab width. (#60338)

Desktop

Improvements

  • Moved terminals to persistent session PTYs shared with the TUI and other windows, with restored scrollback, server-side renaming, and restart persistence. (#60346)
  • Added guided Claude Agent installation, sign-in, connection checking, and recovery from Needs sign-in. (#60603)
  • Added Choose base branch to the command palette and shortcuts, bound to ⌘⌥. or Ctrl+Alt+.. (#60579)
  • Simplified the session location popover and made long paths easier to read. (#60492)

Bug fixes

  • Kept terminal tab clicks and rename fields attached to the intended tab. (#60645)
  • Listed matching commands before sessions in command-palette search. (#60616)
  • Restored copying user messages from an open actions menu. (#60576)
  • Reduced repeated work and allocations while streaming Markdown, especially in long sessions. (#60549, #60562, #60577)

SDK

Improvements

  • Added client.experimental.artifacts.providers, list, create, get, update, delete, and view. (#60351)
  • Extended client.experimental.persistentPty.update to rename terminals or clear a user title, and exposed userTitle plus persistent-pty.updated events. (#60329)

Extensions

Improvements

  • Added ctx.experimental.artifact.transform(...) to Effect and Promise plugins for registering artifact providers, capabilities, prompts, and the default provider. (#60351)

Don't miss a new opencode release

NewReleases is sending notifications on new releases.