You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Codex CLI support: the same plugin payload now installs into Codex as well as Claude Code.
New plugins/opencode/.codex-plugin/ manifest set (plugin.json, mcp.json, hooks.json),
Codex hook entry points under scripts/codex/, an opencode-delegate agent role
(agents/codex/opencode-delegate.toml), and the host-neutral opencode-supervision skill that
carries the delegate/wait/verify protocol where Codex has no markdown subagents.
Host adapter (scripts/lib/host.mjs): single place that knows which host is driving —
plugin root, state directory, session id, MCP tool prefix (mcp__plugin_opencode_oc__ vs mcp__oc__), the workspace to anchor to, and how each host hands over the assistant response
at Stop.
Codex command-skill renderer (scripts/build-codex-skills.mjs): renders the 13 slash
commands into $CODEX_HOME/skills/opencode-<name>/SKILL.md at install time, keeping commands/ the single source. Frontmatter crosses intact — description, argument-hint, disable-model-invocation, context — with allowed-tools translated into Codex's bare-name
vocabulary and $ARGUMENTS left for Codex to substitute natively.
install.sh --host claude|codex|both, defaulting to whichever host homes exist.
docs/codex-compat.md: the verified Codex platform behaviour behind the
packaging decisions (variable expansion, env sanitisation, tool naming, hook trust gating).
Changed
The delegation router hook also fires on Codex's spawn_agent, not just Claude Code's Task,
and every advice string now names the tools with the prefix of the host it runs under.
OC_STATE_DIR overrides the state root on both hosts; CLAUDE_PLUGIN_DATA keeps working.
Fixed
The stop review gate reviewed the raw hook payload rather than the assistant's own text. It now
reviews the real response — read from Codex's last_assistant_message or from Claude Code's
transcript.
The test runner no longer treats macOS AppleDouble (._*.test.mjs) sidecars as test files.
install.sh no longer aborts on a bare --host with no value, and checks for node and python3 before it needs them.
The repository-structure listing in the README claimed 11 slash commands; there are 13.