codex-collab skill
A Claude Code skill that drives Codex over JSON-RPC: tasks, code reviews, parallel research and messaging between two agents.
- 99 ★ on the repository
- Last commit
Extended access
Why this level
- Codex runs commands and edits files, and the auto approval mode removes prompts.
- The installer builds a binary and writes to `~/.local/bin`.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/codex-collabDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Codex runs commands and edits files, and the auto approval mode removes prompts.
- The installer builds a binary and writes to `~/.local/bin`.
This is third-party code. Review the repository files before installing.
What it does
codex-collab lets Claude Code hand work to Codex without leaving the Claude session. The skill drives Codex over the app server JSON-RPC protocol: it manages threads, receives typed events, handles tool call approvals and resumes conversations. A workspace broker registers Codex as a participant in Claude Code cross-session messaging, so Claude messages Codex directly and Codex can ask Claude a question mid-task through the `collab.consult` tool. The `codex-collab review` command runs a review of a pull request, uncommitted changes or a commit in a read-only sandbox. `codex-collab run` submits a task and `--resume` continues an old thread. Progress is streamed as lines.
Who it is for. Claude Code users with Codex access who want an independent review and parallel work from a second agent.
Good fit when
- A pull request needs a review from a second agent before merging.
- Code research should go to Codex while Claude keeps the main work going.
- Agents have to message each other to clarify task details.
- A long refactor should run in the background with configurable approvals.
Not a fit when
- Codex CLI is not installed on the machine.
- You need to work without Bun or with a version below 1.0.
- A review by one agent is enough.
Example request
Ask Codex to review my uncommitted changes and give me a short list of problems.Limitations
Bun version 1.0 or newer and Codex CLI on PATH (`npm install -g @openai/codex`) are required. Tested on Linux, macOS and Windows. From Claude Code 2.1.281, background sessions start only in trusted folders, so mark the repository as trusted first. Tasks with `--approval auto` run without prompts, so run them in a sandbox or on a branch. The installer puts the skill in `~/.claude/skills/codex-collab` and a binary in `~/.local/bin`.
How to disable. Delete the `~/.claude/skills/codex-collab` folder and the binary from `~/.local/bin`. Codex CLI remains a separate package.
FAQ
How do I install it?
Clone the repository, run `./install.sh` (`install.ps1` on Windows) and check `codex-collab health`.
How do I run a review?
With `codex-collab review --content-only`, which checks uncommitted changes in a read-only sandbox.
How do I continue a previous conversation?
With `codex-collab run --resume <id> "..."` and the thread identifier.
How do I run a long task in the background?
Add `--detach` and an approval policy, for example `--approval auto`.
How do I update it?
With `codex-collab update`: it shows the latest release and changelog, asks for confirmation and installs the new version.
Discussion
No questions or reviews yet.
Related
SkillsA skill for second-agent review of plans or code: Claude Code starts rounds, Codex reviews, and they exchange files
A Claude Code skill that delegates tasks to OpenAI's Codex CLI for code analysis, review and edits
A Claude Code plugin: Claude does the task, then a stop hook starts an independent Codex review and Claude fixes the findings in the same session
OpenAI's official plugin: Codex reviews of your changes and task delegation to Codex from inside a Claude Code session
A Codex plugin that runs Claude Code for reviews, rescue tasks and tracked background jobs without leaving Codex
Codex MCP Tool (cexll)
Codex MCP Tool
An MCP server that sends tasks to Codex CLI from Claude Code and Cursor: code review via @ refs, a sandbox, patch edits, ideas
README in short
The description explains how the skill connects two agents through JSON-RPC and a message broker and lists strengths: structured events, review, thread reuse and approval control. Installation, commands and self-update follow.
README badge
Original SKILL.md
--- name: codex-collab description: Use when the user asks to invoke, delegate to, or collaborate with Codex on any task. Also use PROACTIVELY when an independent, non-Claude perspective from Codex would add value — second opinions on code, plans, architecture, or design decisions. --- # codex-collab codex-collab is a bridge between Claude and Codex. It communicates with Codex via the `codex app-server` JSON-RPC protocol, giving you structured, event-driven access to Codex's capabilities — prompting, code review, tool use, and file editing. Requires bun and the codex CLI on PATH (`codex-collab health` to verify). <!-- MODE:peer --> ## Choosing a path `codex-collab peer up` (foreground, seconds, idempotent) prints the workspace's address, `codex(myproject-a1b2c3)`; `ListAgents` shows it plus one entry per ongoing conversation. `SendMessage` to any of them is the normal way to talk to Codex. Use the CLI instead for `review`, for a result you need within the current turn (`run` blocks and exits with a status code), and for `--goal`, `--template`, or interactive approval policies. Both paths produce the same threads: a CLI-started thread can be messaged afterwards, and a messaged conversation appears in `codex-collab threads`. <!-- /MODE:peer --> <!-- MODE:cli --> ## Choosing a path Drive Codex interactions through the `codex-collab` CLI — `run` for tasks, `review` for code review, `--resume` for follow-ups. The ask channel is how Codex reaches you mid-task; `next` watches for those events. <!-- /MODE:cli --> <!-- MODE:peer --> ## Native Peer Messaging `SendMessage` to `codex(myproject-a1b2c3)` starts or continues a conversation. Any message may open with a header block of `key: value` lines, stripped before Codex sees the text. `topic:` names or selects the conversation (a later `topic:` switches to that conversation, or starts it); `model:`, `effort:` and `timeout:` (seconds per turn; default 3600 or `config timeout`) set the conversation's settings and, on a later message, change them from the next turn; `sandbox:` and `approval:` are fixed when the conversation starts (`approval:` accepts only `auto`, Codex Guardian — interactive approval prompts route to CLI clients and cannot work over messaging). Parsing stops at the first line that is not a recognized key, so ordinary prose is never consumed as a header. ``` topic: auth refactor effort: xhigh sandbox: read-only Review the login flow and tell me what you would change. ``` Each conversation appears as its own entry in `ListAgents` under its name. Reply to a message's `from` address to continue that specific conversation; a message to a busy conversation is delivered into the running turn and answered when it ends. Messaging is asynchronous: after sending, end your turn — do not poll, sleep, or block waiting for a reply. The reply arrives on its own as a cross-session message that wakes your session, even if you are busy with other work when it lands. A reply that lands mid-turn is folded into your context and renders in the Claude Code terminal, but not on remote views of the session (phone, web). Relaying its substance is normally enough; `codex-collab output <id> --last` is only needed when the transcript itself must carry the verbatim text — for a remote reader, or a reply held back by the receiver's `crossSessionInbound` setting. Messaged conversations write the same run records as CLI runs, so `codex-collab progress <id>`, `output`, `follow` and `kill` work on them; the `<id>` is the short ID in the conversation's address (`peer-<id>.sock`), and `codex-collab threads` lists them alongside CLI runs. A turn that exceeds its limit is stopped and reported as a timeout, so silence means Codex is still working — use `progress` to see what it is doing, not to wait. Codex may send a `[consult]` message mid-task when it needs your judgment; reply to that address to answer. If you don't, Codex proceeds on its own after a timeout. If `peer up` reports messaging unavailable (Windows, or an older Claude Code), the CLI handles everything. <!-- /MODE:peer --> Codex can also reach you directly: `codex-collab send` from a Codex session delivers a message to your session from a transient peer of its own, `codex(<thread>-<hash>-<task>)`, one per message; the message's last line names the Codex thread. Reply with `SendMessage` to that address. The reply is kept for the Codex session however long the work takes, until the task expires four hours after it was sent, so the message carries no deadline. In a session codex-collab started, time spent at a prompt the user answers through Remote Control does not count toward those hours, and once they answer one there are at least 60 minutes (`config linger`) left to reply. If `send` found no Claude session in the workspace, it resumed the background one it had last stopped, conversation intact, or else started one — a `claude(<workspace>-<hash>)` session in the working directory with none of the user's conversation, running in `auto` permission mode so it can carry out the work Codex hands it, that stops after 60 idle minutes by default (`config linger`). ## Codex's Own App-Server