77Run OpenAI Codex agents from Claude Code through a daemonless MCP plugin.
88
99` claude-code-codex-subagents ` lets Claude Code ask Codex for read-only reviews,
10- parallel investigations, Spark checks, persistent multi-turn sessions , and explicit
11- full-access Codex work when the user asks for it.
10+ parallel investigations, Spark checks, native follow-ups, live steering , and
11+ explicit full-access Codex work when the user asks for it.
1212
1313![ Terminal demo of Claude launching parallel Codex reviewers] ( docs/assets/demo.svg )
1414
1515## Why Use It?
1616
17- - ** Native Claude Code workflow:** Claude gets a small Task-like MCP surface: ` codex_task ` , ` codex_task_group ` , and ` codex_session_* ` .
17+ - ** Native Claude Code workflow:** Claude gets a small Task-like MCP surface: ` codex_task ` , ` codex_task_group ` , and ` codex_followup ` .
1818- ** Read-only by default:** Codex starts with ` --sandbox read-only ` and non-interactive approvals.
1919- ** No daemon:** Claude launches the MCP server over stdio for the active session.
2020- ** Fast parallel review:** Claude can launch several independent Codex agents with bounded concurrency.
@@ -78,16 +78,17 @@ Claude should use `codex_task_group` and split the work into independent tasks.
7878Use Codex Spark to do a fast focused pass on the tool descriptions.
7979```
8080
81- Claude can pass ` model_preset : "spark"` instead of remembering the exact Spark model slug.
81+ Claude can pass ` advanced.model : "spark"` instead of remembering the exact Spark model slug.
8282
8383### Keep A Codex Session Alive
8484
8585``` text
8686Start a long-running Codex session on this repo, then let me send follow-up prompts into the same context.
8787```
8888
89- Claude should use ` codex_session_start ` , ` codex_session_prompt ` ,
90- ` codex_session_steer ` , ` codex_session_status ` , and ` codex_session_wait ` .
89+ Claude should use ` codex_task ` for the initial prompt, preserve the returned
90+ ` session_id ` , and use ` codex_followup ` to continue, steer, or wait on that same
91+ Codex context. For long first turns, Claude should set ` background: true ` .
9192
9293## Safety Model
9394
@@ -103,7 +104,7 @@ Full local access is opt-in per call:
103104
104105``` json
105106{
106- "dangerously_bypass_approvals_and_sandbox " : true
107+ "full_access " : true
107108}
108109```
109110
@@ -127,16 +128,21 @@ use DNS/network, install packages, or behave like a normal unrestricted Codex ru
127128| --- | --- |
128129| One read-only Codex task | ` codex_task ` |
129130| Several independent tasks | ` codex_task_group ` |
130- | Persistent context | ` codex_session_start ` , ` codex_session_prompt ` |
131- | Long-running sessions | ` codex_session_start ` , ` codex_session_status ` , ` codex_session_wait ` , ` codex_session_steer ` |
132- | Session recovery | ` codex_sessions ` , ` codex_session_recover ` , ` codex_session_cancel ` |
133- | Diagnostics | ` codex_status ` , ` codex_doctor ` , ` codex_export_debug_bundle ` |
131+ | Persistent context | ` codex_task ` , then ` codex_followup ` |
132+ | Long-running sessions | ` codex_task ` with ` background: true ` , then ` codex_followup ` |
133+ | Live steering | ` codex_followup ` with ` mode: "steer" ` |
134+ | Diagnostics | MCP resources ` codex://status ` , ` codex://doctor ` , ` codex://usage ` |
134135
135136Legacy tools such as ` ask_codex ` , ` run_agent ` , ` run_agents ` , ` start_session ` , and
136137` send_session_prompt ` are hidden by default. Set
137138` CODEX_SUBAGENTS_ENABLE_LEGACY_TOOLS=1 ` only for older clients that still call the
138139pre-refactor names.
139140
141+ Debug tools such as ` codex_status ` , ` codex_doctor ` , ` codex_usage_guide ` ,
142+ ` codex_choose_tool ` , and ` codex_export_debug_bundle ` are hidden by default. Set
143+ ` CODEX_SUBAGENTS_ENABLE_DEBUG_TOOLS=1 ` only when a client needs tool-callable
144+ diagnostics instead of the MCP diagnostic resources.
145+
140146## Development
141147
142148``` sh
@@ -170,7 +176,7 @@ See [Development](docs/DEVELOPMENT.md) for the full test matrix.
170176
171177## Project Status
172178
173- Current release: ` v0.2 .0 ` .
179+ Current release: ` v0.3 .0 ` .
174180
175181This project is early, but it is already tested across:
176182
0 commit comments