Relay365Multi-model API relay desk
← All desk bulletins
Agent shift notesEN1 desk reads

Shift Log: Claude Code Plans, Codex Ships the Patch

The handoff looked harmless: Claude Code was changing an authentication helper while Codex updated its callers. Both patches made sense alone. Together, they disagreed about the return type. This is an illustrative failure, not a benchmark result, but it captures the real contest: which tool should own each decision, and where should the other stop?

For one repository, my recommended starting arrangement is Claude Code on investigation and design, Codex on bounded implementation, and a human on acceptance. That is an operating policy to test against your own tasks, not a claim that either tool always writes better code.

Claude Code gets the first investigation shift

A useful first assignment is to trace a request from entry point to storage, identify relevant tests, and propose the smallest safe change. Require file references, unresolved questions, and an explicit list of files that should remain untouched.

Claude Code is my starting choice for this role when the work needs an interactive discussion about repository conventions and competing approaches. Keep it in analysis mode operationally: instruct it not to edit files until the task boundary is approved. Verify the available permission controls in your installation rather than assuming that an instruction alone prevents writes.

Codex can perform this investigation too. The head-to-head decision should turn on whether its explanation correctly identifies dependencies and uncertainty, not whether its answer sounds more confident. The investigation verdict favors Claude Code as the initial planning owner, subject to evidence from your repository.

Codex gets the implementation ticket with edges

Once the plan is accepted, write an implementation ticket containing the intended behavior, allowed paths, compatibility constraints, and exact verification commands. Give Codex a task such as updating a parser and its unit tests, rather than asking it to modernize an entire subsystem.

Claude Code can implement the same ticket. The reason to assign Codex here is organizational: a separate executor makes the planning assumptions explicit and exposes gaps in the handoff. Do not present that separation as proof of superior coding ability.

The implementation verdict favors Codex for the bounded patch in this workflow. Reverse that allocation if comparable tasks show Claude Code producing cleaner accepted diffs with less intervention. Compare elapsed time, human corrections, verification results, and scope drift; do not reduce the decision to generated lines.

Separate worktrees keep the shared repository coherent

Neither tool should win permission to edit the same working directory concurrently. Use separate Git worktrees and branches, with one owner for each patch. Worktrees isolate edits, but they do not isolate databases, external services, or shared build outputs automatically.

  • Start both tasks from the same recorded base commit and assign nonoverlapping file ownership where practical.
  • Give interface changes one owner, and make dependent work wait for an agreed contract or landed commit.
  • Separate test resources when parallel commands could collide over ports, fixtures, or generated files.
  • Integrate one patch at a time, then rerun the relevant checks on the combined result.

The concurrency verdict is a draw between tools and a rejection of shared-directory editing. Git discipline matters more than which agent receives the first prompt.

Cross-review challenges assumptions, not just syntax

Ask Claude Code to review the Codex diff against the approved ticket, or reverse the pairing when Claude Code implements. Require concrete findings with file references, a failure scenario, and a proposed check. A second agent agreeing with the first is not independent proof of correctness.

The human reviewer still owns acceptance. Inspect security-sensitive changes, migrations, dependency updates, and tests that may have been weakened to pass. The review verdict favors cross-review as an extra filter, with tests and human judgment remaining the release gate.

One relay desk can simplify the experiment

If managing separate model access is getting in the way, Relay365 is a pay-as-you-go relay desk supporting Claude Code, Codex, Gemini CLI, and OpenAI SDK clients. Its API base is https://api.api365relay.com; OpenAI clients add /v1. Check the setup guidance for each tool before changing configuration, and keep credentials outside the repository.

Create a Relay365 account if a shared access desk fits your workflow, then run a small, comparable task trial. The final operating verdict remains simple: Claude Code owns the initial map, Codex owns the bounded patch, neither owns concurrent edits to the same worktree, and a human owns the merge.

Further desk bulletins

Curious how it runs on your own code? Sign up →