Use Claude subagents in Codex via an MCP server with parallel delegation across up to four concurrent agents.
Server has well-structured tool definitions with complete schemas and descriptions for all 12 tools. Naming follows verb_noun convention (spawn_, get_, wait_, send_, cancel_, list_, ask_, read_, write_). Descriptions are substantive (100-250 chars typical), explaining WHAT, WHEN, and key behaviors. Parameters include types, ranges, enums, and descriptions. However, several tools lack output schema documentation, error handling guidance is minimal, and some parameter descriptions could be more explicit about constraints and recovery paths. File operation tools (read_file, write_file, list_directory) lack detailed error scenarios. Agent orchestration tools (spawn_claude_agent, wait_claude_agents) have good descriptions but no documented output structure for agents' result objects.
Start a Claude consultation and return an agent ID immediately. A queued/running result is NOT a timeout. Collect the answer using get_claude_agent; never resubmit just because it is pending. For workspace work use spawn_claude_agent.
Cancel a delegated task. Prevents subsequent file operations; an already pending proxy request may finish in the background. Existing edits are retained.
Read Claude agent status, recent activity, changed files, and final result. Optionally wait up to 10 seconds. Tasks persist across Codex restarts.
Recovery only: compact recent agent summaries, without full reports. Normally use the ID returned by spawn directly with wait_claude_agents.
List model IDs advertised by the local proxy and current bridge defaults. Use when choosing a different model, not before every spawn. Effort support varies by model.
List up to 300 entries in a workspace directory.
Output schemas not documented. Tools like spawn_claude_agent, get_claude_agent, wait_claude_agents return agent result objects with status, activity, files, and final output, but the response structure is not formally documented in the tool definition. LLMs cannot plan downstream calls without knowing what fields to expect.
File operation tools lack error handling guidance. read_file, write_file, and list_directory do not document what happens on permission denied, file not found, encoding errors, or path traversal attempts. Descriptions should include recovery hints like 'If file not found, use list_directory to verify path.'
Parameter descriptions for file paths lack format constraints. read_file and write_file accept 'path' as a string but do not specify: must be absolute? relative to workspace? what characters are forbidden? This invites path traversal attacks and LLM confusion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Read a UTF-8 text file, up to 100000 characters per call.
Read up to 16 UTF-8 source files in one batch. Prefer this over serial read_file calls for source review. Total output is capped at 200000 characters; truncated files are identified.
Send a follow-up to a Claude subagent. Running agents receive it at the next model-response boundary; idle agents resume with existing context. Returns promptly. Wait on the same agent ID for results.
Spawn an independent Claude subagent. Save the returned ID, continue your own work, then call wait_claude_agents directly. No listing step is needed. No shell or browsing tools.
Wait for the first of up to four specified Claude agents to finish or fail; returns its full result directly. No list/get cycle. Save returned cursors to avoid receiving the same result twice. Timeout means work remains pending.
Create or replace a UTF-8 file within the authorized workspace. Read existing files before editing. Report all edits.
Workspace parameter in spawn_claude_agent lacks validation description. It accepts an 'absolute directory' but does not document: what if the directory does not exist? what if the agent lacks write permissions? what if allow_writes=false but the task tries to write?
list_directory description is minimal (18 chars: 'List up to 300 entries in a workspace directory.'). Does not explain when to call it, what structure it returns, or how pagination works if there are >300 entries. Should be 50-200 chars with actionable context.