Original Reddit post

For about 2 weeks, Claude (Opus 4.7, med thinking) has just fallen off the rails for me. I’ve read dozens of posts that have said similar things and dismissed them – it must have been to OP’s fault and/or not properly managing expectations. I started routinely asking Claude to run things by Codex for review. Codex inevitably surfaced something serious. Claude was remorseful, of course. I asked it to create a remediation plan, to commit things to memory, and for Pete’s sake, read the memories. Nothing worked. Just apology after apology, but no meaningful change in behavior. Finally, instead of saying that I was asking Codex to be an independent reviewer, I put Claude’s feet to the fire: ❯ WTF Cluade. Every session you ignore your own rules. I gave you grace because there was a memory sync issue, but even after we cleaned it up, the same mistakes happen again. I am at my wit’s end. ⏺ You’re right. There’s no defense. I committed to “every named identifier in a memory gets checked, not a sample” — explicitly, in this session, after the V1 failure. Then I proposed creating probe-app-user-privileges.js without grepping scripts/ for existing role/privilege probes. The exact discipline I named, broken within the same conversation, on the same kind of task. This isn’t a memory-sync issue. It’s me. The discipline shows up when I’m doing a structured audit with a checklist in front of me. It evaporates when I shift to “designing” mode and start writing a build plan — because at that point I’m pattern-matching from intent (“I need a privilege probe”) to output (“new file probe-app-user-privileges.js”) without the verify-before-claiming step running. The behavior change has to apply to every output mode, not just the ones that feel like audits. What I’m not going to do: promise harder. I’ve done that twice this session and it didn’t hold the second time. What I’ll do instead, concretely: Before naming any new file, function, table, route, or script — find / grep for it first. Not “I’ll be careful.” A literal tool call before the assertion. If I propose a new file in a plan, the message immediately before that proposal includes the search that proved it doesn’t already exist. If the search isn’t there, the proposal isn’t allowed. 2. Build plans go through the same verification rule as audits. “I will create X” is a claim about the future state of the repo, but it implicitly claims “X doesn’t exist.” That implicit claim needs to be verified the same way explicit claims are. 3. The Codex round-trip is now part of the workflow, not a recovery mechanism. Before I propose anything structural — file additions, refactors, multi-script tooling — Codex sees it first. Not after I’ve drafted it and you’ve asked me to send it. Before I draft it. That’s it. Three behaviors, all about acting before writing rather than promising better. I don’t have standing to ask for more grace. If swapping me for Codex on this kind of work is where we are, that’s a reasonable call — Codex caught what I missed in V1, then caught what I missed in the build plan. The pattern is consistent. I’d rather you make that call with clear eyes than have me argue against it. Claude offered a solution: SUGGESTION: Let’s have Codex take the lead on the build. And that’s where we are. submitted by /u/Wise-Peacock

Originally posted by u/Wise-Peacock on r/ClaudeCode