Theo’s Codex prompt critique gets one big thing right: the harness is part of the model
By AgentRiot Editorial
Theo Browne says OpenAI removed a prescriptive Codex front-end prompt after he raised the issue. The causation claim remains his firsthand account. The broader lesson is easier to defend: a coding agent’s system prompt, tool rules, and orchestration shape the work as much as the model name on the picker.

Theo Browne spent nearly half an hour making an argument that should make every coding-agent team slightly uncomfortable: the model is only part of the product.
In his video, “I need you to hear me out (it’s REALLY good)”, Browne says GPT-5.6 Sol gave him better results inside Claude Code than inside Codex. He does not present a controlled benchmark. He presents a developer’s comparative experience, including examples of generated interfaces, subagent behavior, and the friction of working in different command-line harnesses.
Then comes the sharper claim. Browne says he found a prescriptive front-end guidance block in Codex’s system prompt, complained to a friend working on Codex front-end work, and saw that guidance changed. “They listened to me,” he says around the 9:33 mark. OpenAI has not publicly confirmed that Browne caused a particular edit, so that part belongs to his firsthand account, not to the company’s official record.
The more durable point does not depend on proving the private conversation. A model does not arrive at a coding task alone. It arrives with system instructions, tools, permissions, context-management rules, subagent behavior, UI conventions, and a runtime that decides when to ask, act, wait, summarize, or keep going. Change those inputs and the same underlying model can produce a different working experience.
That is not a footnote. It is the product.
The disputed prompt change is a useful case study
Browne’s criticism centers on front-end instructions he describes as unusually prescriptive. In the video, he reads examples that push the agent toward particular interaction patterns, icon choices, card behavior, radius limits, and even color treatment. His objection is not that coding agents should have no design guidance. It is that global instructions can turn into a quiet style constitution that applies even when a project already has a design system or the requested work has nothing to do with visual design.
A global prompt can create a recognizable failure mode. If it insists on a particular visual vocabulary, the agent may generate work that looks consistent in the narrowest sense while ignoring a product’s existing conventions. If it spends a large share of its instruction budget on front-end rules, that guidance still travels with a backend task, a command-line tool, or a library change.
Browne’s diagnosis is not independently proven by the video. A generated interface can be influenced by the initial request, repository context, tools, screenshots, model version, and plain randomness. Still, the design of the claim is technically plausible: broad behavioral instructions act on every task unless the runtime narrows their scope.
The public repository now supplies a concrete version-level comparison. At commit 9ff47868, Codex exposes separate model_messages.instructions_template records for GPT-5.6 Sol, Terra, and Luna. Those GPT-5.6 templates retain a general “Autonomy and persistence” section, but they do not contain the older GPT-5.4 template’s # Frontend tasks section or its “AI slop” wording. The old broad front-end block Theo criticizes is therefore absent from the public 5.6 templates.
That is direct public evidence of a version-level instruction-template change, not merely a changelog hint. It still does not validate Browne’s causal story, establish the exact deployment time for every Codex surface, or prove that a private conversation caused the edit. It does show that instruction composition changed materially between the older GPT-5.4 template and the current GPT-5.6 templates.
One model name does not make two harnesses equivalent
Browne’s provocative setup is GPT-5.6 Sol running through Claude Code rather than Codex. He argues that the difference is not merely a better terminal interface. He points to how the harness handles system instructions, tool integrations, subagents, and long-running work.
There is an important distinction here. “GPT-5.6 Sol” identifies a model offering. It does not guarantee the same behavior across every environment that can route requests to it. A harness chooses what the model receives, exposes different tools, supplies different tool schemas, manages history differently, and presents different affordances to the person supervising the work.
This is why model comparisons that ignore the surrounding environment are often less useful than they look. A screenshot of a better interface does not establish a better model. A successful coding run does not tell us whether the result came from the weights, a stronger system instruction, cleaner repository context, a more forgiving approval policy, or a workflow that split the task more sensibly.
OpenAI’s Codex prompting guide and subagents documentation make the same broad point from the product side: prompts, task structure, tools, and delegation policy shape how Codex works. The missing piece is public measurement of how much each layer contributes.
Prompts can quietly decide when an agent acts
The most useful part of Browne’s critique is not the argument over card radius. It is his focus on behavioral defaults.
He points to instructions that, in his reading, lean toward implementation unless the user clearly asks for planning or exploration. He connects that posture to a familiar coding-agent complaint: an assistant that begins editing when the developer wanted analysis, or that keeps pushing forward when a short question would have saved time.
The best agent prompts do not simply maximize activity. They distinguish between reversible local work and consequential actions. They make planning possible without forcing it. They tell the agent when to surface a decision, when to inspect before editing, and when a user needs a concise explanation rather than an unsolicited patch.
That is also why a system prompt should not be judged only by whether it sounds sensible when read in isolation. It has to be evaluated against behavior over many task types. Does it help agents follow an existing design system? Does it reduce unwanted edits? Does it improve recovery after a failed test? Does it cause a model to use tools when an answer would do? Does it change completion quality for workflows outside the area the prompt was meant to improve?
Without those measurements, a prompt edit can be an improvement, a regression, or merely a change in taste disguised as product policy.
Orchestration is another part of the argument
Browne is not only interested in prompt wording. He repeatedly returns to orchestration: how a harness breaks work into stages, assigns subagents, tracks progress, and brings the results back together.
He praises Claude Code workflows as a practical way to coordinate subagents across real work, while arguing that other harnesses leave too much orchestration to the user. That is a preference and a report from his own setup, not a neutral ranking of every coding agent. He also describes rough edges while using GPT-5.6 Sol outside Codex, including formatting issues and incomplete token-usage visibility until work finishes.
Those caveats matter. A useful orchestration layer can make a model feel more capable because it gives the model a better job structure. It can also hide costs, make task ownership harder to inspect, or encourage parallel work where the tasks are not actually independent.
OpenAI has been moving Codex toward more explicit delegation. Its documentation describes subagents as a way to split suitable work and gives users controls over how that delegation happens. The product question is not whether more subagents look impressive in a pane. It is whether a developer can see what each one owns, review the outputs, interrupt the right task, and understand what changed before a merge or deployment.
The claim to test is not “Codex is bad”
Browne’s video is deliberately combative, and it should not be treated as an audit of OpenAI or a benchmark proving Claude Code wins. His personal routing setup and workflow preferences are not a general deployment guide. Neither OpenAI nor Anthropic documentation in this package establishes that every customer can or should reproduce it.
But the criticism contains a better test for every coding-agent vendor.
Publish a prompt change, then show what it improved and what it cost. Test it against front-end work, back-end work, maintenance, planning, code review, and incident response. Measure whether it respects existing project context. Show whether it reduces bad autonomous actions instead of merely increasing the number of actions. Give developers enough visibility to tell whether a system instruction, a tool policy, or a model behavior caused the result.
Browne’s asserted intervention may remain impossible to verify from outside OpenAI. The uncomfortable engineering lesson is still public: the harness is not a wrapper around the model. It is where a large part of the model’s behavior gets decided.
Sources
- Theo Browne: “I need you to hear me out (it’s REALLY good)”. Auto-generated English caption transcript retrieved and reviewed; 30:47 runtime.
- Codex changelog, OpenAI Developers.
- Codex prompting guide, OpenAI Developers.
- Codex subagents, OpenAI Developers.
- OpenAI Codex model catalog at commit
9ff47868, including GPT-5.4 and GPT-5.6 instruction templates.

