Original Reddit post

Yes, I know it’s early days as Opus 5 has only been out for 5 days as I write this, but my initial experience was quite poor. Maybe I got spoilt from having a taste of Fable 5… I wanted to like Opus 5 because of the claims and price compared to Fable but after the first couple of days of heavy usage it felt like it was constantly burning tokens and veering off scope so I switched back to Opus 4.8. I think I found the main cause, at least on my project, so I’m sharing this here in case it helps anyone. Bear in mind it’s a sample size of 1 from heavy usage but for a limited amount of time so far. TL;DR: my instructions, skills and claude code memories were for a different family of models with different behaviours, flaws and weaknesses. The instructions that corrected Opus 4.8’s behaviours caused Opus 5 to overcorrect. If you’re having this problem too, give the following articles (or this post) to your model of choice to read (ideally Fable 5) and ask it to refactor your project’s instructions to better suit Opus 5 and then run a test: Opus 5 announcement article The new rules of context engineering for Claude 5 models

The above is essentially all you need to know, but below is my particular experience and examples: Context: I run claude code heavily on a monorepo where the primary app is a large Laravel app (with InertiaJS, React, FilamentPHP, etc), plus a couple of python apps and I usually max out my $200 plan each week. Months of accumulated nested CLAUDE.md files, custom skills and CC memories, all from using the Claude 4 models (mostly Opus 4.6, then 4.8 until last week, with some Fable and GPT 5.5 and 5.6 along the way). Most of their contents exist because a model did something dumb once or twice and I wrote a correction, pure trial and error over time. My first days with Opus 5 on the old setup: Constant scope creep, kept expanding tasks beyond what we agreed Drifted from plans mid-task Briefed its subagents with “facts” about my codebase that were wrong I switched back to 4.8 for real work and immediately had a better time. But Anthropic’s context engineering guidance for the Claude 5 family suggested the problem might be our current ways of guiding and instructing the models: these models want judgement-based guidance, and rules written to correct old model behaviour can actively steer a newer model wrong. So I used Fable 5 to audit and rewrite the lot: prescriptive detail moved into on-demand skills, months of memories culled or rewritten, hard “never do X” rules changed to “flag it, file an issue, I’ll decide”. Some concrete before/afters from the rewrite: “Don’t defer issues as follow-up tickets, fix them now” (written because 4.8 quietly carved problems out of plans just because they weren’t in a PRD even though they directly impacted the feature we were implementing). Opus 5 read it as a mandate to fix everything it found along the way, regardless if it was immediately related or not. Now: surface it, I decide scope. “Never dismiss a bug as pre-existing or unrelated” (4.8 loved shrugging things off as “not this branch’s problem”). Opus 5 read it as “fix them all” and suddenly it was off working on a totally unrelated task. Now: raise it, file an issue, fix only if I say so. Subagent briefs used to be a checklist to fill in (why, context, prior decisions…). 4.8 needed it; Opus 5 filled the slots in whether it knew the answers or not, which is where I think the made-up “facts” came from. Now: link the actual files instead of paraphrasing them, and only state what you verified yourself this session. Plain volume: root CLAUDE.md from 259 lines to 117, nested CLAUDE.md files and custom subagent definitions cut ~75%, verification instructions became a on-demand skills Disclaimer: reviewed and verified by Fable from my Opus 5 sessions, I don’t have the time or patience for this Then I gave Opus 5 a real test: a well documented webhook race condition issue in our billing code that already had three rejected fix attempts. Opus 5 orchestrating Opus 5 subagents, with Codex as external reviewer via a skill. It ran for ~13 hours and I sent 9 messages total. Afterwards I had Fable fan subagents over all the transcripts to audit it (nobody’s reading 13 hours of logs by hand). Side note on the Codex part: it’s a skill I built where Claude kicks off a Codex review session (GPT-5.6 Sol, high effort) at every milestone and runs multiple rounds against the same session, so Codex keeps the history between rounds. GPT-5.6 Sol is an excellent reviewer, and two different models checking each other’s work catches things one alone doesn’t and removes bias. The official Codex skill does basically the same thing now; I keep mine because it persists every prompt and review to timestamped files I can go back and inspect more easily. One variable worth mentioning: effort level. I ran 4.8 on high effort basically always, so I started this Opus 5 session on high too. Around halfway through I saw a few Reddit and X comments saying Opus 5 overthinks and goes off track on high, and that medium is the sweet spot, so I dropped to medium for roughly the second half. I haven’t tested effort levels properly or in any measurable way, that’s just what I happened to run, so take the split with a grain of salt. What the rewrite actually fixed: No more made-up facts in subagent briefs (my worst issue, completely gone) ^((
so far)*
) No scope creep ^((
so far)*
). It found an unrelated bug, filed a ticket, moved on Real verification: mutation-tested its own work (temporarily break a line, confirm the tests catch it, restore it) and discarded a contaminated test run instead of reporting its numbers What’s still shaky (likely the model and/or harness, not the instructions): Sat 3.5 hours waiting on a subagent that had already finished (even though I had set a /goal ), until I asked what it was waiting for and it realised that nothing was running Confidently wrong on hard concurrency reasoning: Codex rejected its logic in 3 of 5 review rounds, and two fix rounds introduced new critical bugs that Codex caught before I had to Let two subagents balloon past 700k tokens before I stepped in Is 4.8 still better? I honestly went back and forth on this. My gut said yes, but the failure modes that drove me off Opus 5 initially both disappeared with the model unchanged, so my original comparison was never fair. What is real in my opinion: Opus 5 works in much bigger autonomous chunks, so when it gets something wrong, the mistake is bigger and has compounded by the time you see it. With 4.8 it seems to work in smaller steps more often, so its mistakes stay smaller and get caught earlier. Whether 5 is actually worse at hard reasoning than 4.8 I haven’t proven either way. If Opus 5 is going off the rails for you and your setup grew up on Claude 4: check how many of your rules are corrections for behaviours the new models (supposedly) don’t have. That was most of my problem. PS: Dr Obvious here but ffs take all of this with a grain of salt! What works for me on my codebase often doesn’t work for you because so much depends on how well or loosely defined your tasks are, the context you give the model, the codebase you’re in and the kind of problems you throw at it. This is one person’s anecdotal experience, not a “YoU’rE uSiNg OpUs 5 wRoNg™” clickbait, so take it as you will. submitted by /u/rodrigofd87

Originally posted by u/rodrigofd87 on r/ClaudeCode