github sendbird/cc-plugin-codex v1.4.2

26 days ago

Patch release stopping the Claude Code ↔ Codex delegation loop for users running both bridge plugins.

Refuse delegation from Claude-Code-driven Codex threads

The reverse-direction plugin (Claude Code → Codex) spawns a bare codex app-server that inherits ~/.codex. Its headless review threads therefore see this plugin's skills, and delegated the review straight back to Claude Code — looping the work between the two assistants, spinning on Codex's wait tool for minutes, and returning narration instead of findings.

Session hooks now stamp hostOrigin: "claude-code" on the current-session marker when Claude Code host env markers (CLAUDECODE / CLAUDE_CODE_ENTRYPOINT) reach them, and review, adversarial-review, and task refuse delegation from such threads with instructions to perform the work directly in that thread. The gate fails open everywhere the loop cannot occur: interactive sessions, background forwarding children owned by a different session, and unstamped state.

Review skills no longer name AskUserQuestion

AskUserQuestion is a Claude Code tool; Codex has no tool by that name, and Codex's own request_user_input is gated behind [tools] experimental_request_user_input and absent in non-interactive threads. The wait-or-background ask is now conditional on a question tool actually existing, and headless threads proceed with the recommended mode instead of hunting for a picker.

Turn-end review gate skips sessions with no recorded user turn

The turn baseline is written on UserPromptSubmit, so a missing baseline means no user prompt drove the session and there is no turn to review. Previously the gate treated that as a signal to run the full Claude review.

Full changelog: https://github.com/sendbird/cc-plugin-codex/blob/main/CHANGELOG.md

Don't miss a new cc-plugin-codex release

NewReleases is sending notifications on new releases.