Opus for Planning, Codex for Review: When 8 Phases Were Supposed to Be 5
Opus for Planning, Codex for Review: When 8 Phases Were Supposed to Be 5
You plan a project in 5 phases. You run 5 parallel Claude agents. Halfway through, you realize the project is actually 8 phases. This is not a failure - it is what happens when AI agents discover complexity faster than humans can predict it.
The Planning Problem with Parallel Agents
Running 5 Claude agents in parallel on a Swift/Rust codebase sounds efficient until you realize half your job is making sure they do not rewrite each other's work. The solution is to split the workflow: use Opus for planning and Codex for review.
Opus is better at reasoning through complex multi-step plans. It can look at your codebase, understand the dependencies between modules, and break the work into phases that minimize conflicts between agents. Codex is faster and cheaper - perfect for reviewing the output of each agent after it finishes.
Why Projects Expand
When each agent has deep context on its slice of the codebase, it finds problems you did not know existed. The Swift agent discovers the view model needs a state machine you did not plan for. The Rust agent realizes the FFI bridge needs error handling for three new edge cases. Suddenly your 5-phase plan is 8 phases.
This is actually good. The alternative is discovering these problems in production.
The Workflow That Works
- Use Opus to create the initial plan with explicit phase boundaries
- Put the plan in CLAUDE.md so every agent knows its scope
- Let agents run in parallel within their assigned phases
- Use Codex to review each agent's output before merging
- When new phases emerge, update the plan and reassign agents
The key insight is that planning and execution are different skills, and different models are better at each.
- Claude Code's Real Advantage Is the Harness, Not the Model
- Parallel Agents for Genuinely Isolated Tasks
- Five Months with Claude Code - Subagents vs Parallel
Fazm is an open source macOS AI agent. Open source on GitHub.