Skip to content

v1.21.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 00:01
· 3 commits to main since this release

Added

  • 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-install.md: self-service Codex walkthrough — prerequisites,
    hook approval, verification, multi-account env_vars, upgrade, uninstall, troubleshooting.
  • 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.