A new O'Reilly Radar article argues that developers should choose a coding harness based on which layer of the harness they need to control, not on which company built it. The author, writing from a hands-on migration project, says that the harnesses seem similar on the surface but differ in where they give users leverage.

The article lays out a rough map. Claude Code gives control inside the run, through instructions, skills, subagents, and hooks that intercept tool calls. Codex gives control through separation, with a noninteractive mode that can run a narrow task under an OS-enforced sandbox and return structured results. Pi gives control over the coding loop itself, with extendable tools, context, and session state. DeepSeek's harness gives control through composition, with tools, sessions, and verification available as swappable plug-ins. The author stresses that this table is a high-level map rather than a feature ranking, and that the boundaries overlap.

The article also notes a trade-off. A harness that gives more control often leaves more work to the developer, such as building verification, durable state, and repair routing. A harness that does more by default makes more decisions on the developer's behalf.

To illustrate, the author describes migrating a legacy Python 2.7 application. The author used Claude Code to build the port, Codex for isolated