Running Claude Code and Codex together with a clear division of labor
Developer Rapls describes a two-tool workflow where Claude Code handles open-ended, conversational coding tasks while Codex's non-interactive `codex exec` mode handles scripted, repeatable work like version bumps and commit messages.
Score breakdown
The workflow shows how `codex exec`'s non-interactive mode turns a conversational AI tool into a scriptable automation primitive, enabling a concrete split between exploratory and repetitive coding work without requiring a single unified tool to do both well.
- 01Rapls uses Claude Code for interactive, exploratory coding and Codex's `codex exec` for scripted, repeatable tasks.
- 02`codex exec` runs a single instruction non-interactively and prints the result to stdout, making it scriptable.
- 03Config sets model to `gpt-5.5` with `model_reasoning_effort = "medium"` to keep routine tasks fast and cheap.
Rapls frames the core distinction as "conversation versus straight line." Claude Code, with its ability to hold a whole project in context and iterate interactively, is the tool for exploratory design work where the goal shifts as you go. Codex, specifically its non-interactive `codex exec` mode, is the tool for mechanical, well-defined tasks that can be embedded in a script and run repeatedly without human back-and-forth.
Project conventions are encoded in `AGENTS.md`, Codex's equivalent of `CLAUDE.md`, so output stays consistent across runs.
The configuration Rapls settled on sets the model to `gpt-5.5` with `model_reasoning_effort = "medium"` in `~/.codex/config.toml`, deliberately avoiding heavier reasoning for routine work on the grounds that it adds cost and latency without improving output. Safety defaults include `approval_policy = "on-request"` — which prompts before writing files or running commands — and `sandbox_mode = "workspace-write"` to prevent Codex from touching anything outside the working folder. Project conventions are encoded in `AGENTS.md`, Codex's equivalent of `CLAUDE.md`, so output stays consistent across runs.
Two concrete automations illustrate the payoff: a one-liner that reads the staged diff and outputs a single-line commit message, and a release script that bumps the WordPress plugin version in both the PHP header and `readme.txt` Stable tag, then prepends a changelog section — tasks that previously required careful manual attention. A cross-model review pattern rounds out the workflow: after building with Claude Code, Rapls pipes the diff to `codex exec` with instructions to report only security issues and bugs with file and line citations, exploiting the fact that a second model is more likely to catch what the first one rationalized away.
Key facts
- 01Rapls uses Claude Code for interactive, exploratory coding and Codex's `codex exec` for scripted, repeatable tasks.
- 02`codex exec` runs a single instruction non-interactively and prints the result to stdout, making it scriptable.
- 03Config sets model to `gpt-5.5` with `model_reasoning_effort = "medium"` to keep routine tasks fast and cheap.
- 04`approval_policy = "on-request"` and `sandbox_mode = "workspace-write"` are left on as default safety rails.
- 05Project conventions are stored in `AGENTS.md`, which Codex reads before each task.
- 06A release script uses two `codex exec` calls to bump the plugin version in two files and update `CHANGELOG.md`.
- 07A cross-model review pattern sends Claude Code's output diff to Codex with instructions to report only bugs and security issues with file and line citations.
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Jun 14, 2026 · 09:08 UTC. How this works →