OpenCode 2 v2.2.3: Claude Agent provider, split managed-policy actions#
Published by Alex Sorokoletov
Part of the OpenCode 2 Version Tracker series. | OpenCode on GitHub | OpenCode 2 docs
OpenCode 2 v2.2.3 follows v2.2.2. It adds a built-in Claude Agent provider that reuses an installed Claude Code login and its models through /connect (#58782), splits the managed-policy integration.use action into separate mcp.use, skill.use, and plugin.use actions (#60315), and cuts Desktop rendering work on streaming replies and long sessions (#60489).
New environment variables#
| Variable | What It Does |
|---|---|
OPENCODE_CLAUDE_PATH | Overrides which Claude executable the built-in Claude Agent provider runs (#58782) |
Claude Agent provider#
OpenCode 2 adds a built-in Claude Agent provider. With Claude Code installed and claude auth login done, selecting Claude Agent in /connect lets OpenCode use that Claude Code login and its models (#58782). /connect is the same command that adds any provider and takes its credentials.[1] OPENCODE_CLAUDE_PATH points the provider at a specific Claude executable (#58782).
Managed-policy actions#
Managed policy gains per-capability actions. integration.use now controls which integration accounts can be used, and new mcp.use, skill.use, and plugin.use actions control MCP servers, skills, and plugins (#60315). Rules written with the old mcp:, skill:, and plugin: resource prefixes are converted automatically. A bare integration.use rule no longer applies to MCP servers, skills, or plugins. The same change adds separate actions for connecting to an integration and for using it.
Code Mode schedules#
Experimental schedules gain Code Mode JavaScript checks, covering statically authorized tool calls, persistent state, and custom wake messages (#60140). Invalid Code Mode schedule checks fail creation immediately, and existing invalid checks pause without repeated execution (#60349). Deleting a session removes its persistent terminals (#60322).
Desktop and TUI#
Desktop does less rendering work on streaming replies and long conversations (#60489, #60521, #60513, #60481). Stability fixes restore side-panel tabs, stop repeated "Session not found" toasts, and fix Open file over HTTP (#60430, #60436, #60459, #60462). Three Desktop additions land for everyday use:
- A spellcheck toggle under Settings → General, with system-language dictionaries on Windows and Linux (#59129).
- Independently configurable question notifications and sounds under Settings → Notifications → Questions (#60358).
PageUpandPageDownpaging the timeline from the composer without moving the draft cursor or focus (#59426).- Separate project and worktree actions on the new-session control (#60486), and one-click version copying in Settings → About (#52356).
On the TUI side, plugins now require OpenTUI 0.8, meaning @opentui/core and @opentui/solid 0.8.0 or later (#60385). With experimental.media_blob enabled, stored image references load lazily and download only for previews, while undo, revert, fork, and prompt recall restore referenced attachments (#60116). A PHP highlighting fix colors code blocks that have no opening <?php tag (#60359).
Provider and tool-call fixes#
Plugin-provided model variants are preserved, and dynamic provider fallback waits until external SDK hooks have run (#60097, #60380). MCP failures keep their permission reasons and feedback, and Code Mode failures match direct tool-call failures (#60102, #60109). Nested tool progress is kept from replacing the parent execute call's row (#60480).
Finer control over credentials and capabilities#
The policy change narrows the reach of existing rules at upgrade. One integration.use rule used to cover integrations and the MCP servers, skills, and plugins beside them; each capability now has its own action, so an operator reads mcp.use, skill.use, and plugin.use as distinct controls, with old prefixed rules converted into them (#60315). A rule that only says integration.use stops governing those three after the upgrade, even with the automatic conversion.
The Claude Agent provider reuses the login and models from an installed Claude Code (#58782), so that provider runs on credentials Claude Code already holds, and OPENCODE_CLAUDE_PATH selects which Claude executable it uses when more than one is on the machine.
All trademarks and software referenced belong to their respective owners.
Sources#
/connectand provider setup: OpenCode 2 docs, Providers.
Previous OpenCode 2 analysis: v2.2.2 (October 31, 2026)
Next OpenCode 2 analysis: v2.2.4 (November 3, 2026)
All 25 OpenCode 2 analyses: OpenCode 2 Version Tracker · Official OpenCode 2 changelog