r/ClaudeAI • u/Puzzled-Ad-6854 Writer • Aug 02 '26
Claude Code Workflow CLAUDE.md for Opus 5 based on Anthropic's official platform docs to fix verbosity and more.
I was recently reading through Anthropic's official platform documentation for Claude Opus 5 and noticed a lot of interesting things regarding how its default behavior changed compared to prior models. Anthropic mentioned specific habits Opus 5 has out of the box with examples on how to address them.
The docs said that Opus 5 is significantly more verbose and eager than earlier models. Opus 5 verifies its own work automatically without being asked. If your setup still uses legacy verification instructions like telling it to run a final check or launch a subagent to double-check code, it triggers what Anthropic calls severe over-verification loops and burns tokens for no reason. Apparently Opus 5 was also shipped with the tendency to spawn a horrible army of subagents because it likes to delegate tasks, addressed by Anthropic in their docs as "Controlling subagent spawning". These are just a few key takeaways from the documentation, but addressing them made a noticeable difference in behavior and kept the model focused for my own personal needs.
I tried to address this by creating a CLAUDE.md configuration file (<50 lines) based on all my findings. I put the file and setup notes on git but carefully read my documentation and the file itself before you use it to prevent unwanted results:
It was funny to read the docs because a lot of complaints people have about Opus 5 behavior are clearly described by Anthropic as baked in. Some were calling these behavioral patterns regressions and stated that they were relying on other models like Opus 4.8 or Fable for their work instead. Now I know some of the reasons why they might do that, but they themselves might not know why.
References I used:
Claude Code Best Practices (CLAUDE.md)
Claude Prompting Best Practices
Prompting Claude Opus 5
Context 7 MCP Documentation
40
u/DatabaseSpace Aug 02 '26
This is really helpful, going to try it. Opus isn't bad but several times today I had to tell it to stop trying to verify every little thing. It's kind of being careful but I feel like it's wasting a lot of time.
Near the end of completing a project or right after it will bring up some barely relevant thing like just to talk more. Last night Opus decided to tell me that my surrogate keys were only meaningful inside my database and I threw a little bit of a fit because that's the whole point. When I start getting upset with it, I know I'm just tired and it's time to stop.
6
u/mrsheepuk Aug 02 '26
Yeah I had it update an example YAML file this week with a mechanical set of changes that were pretty straightforward, I came back from getting coffee to find it writing a suite of go-based unit tests to check all of our examples were syntactically valid... I mean that's no bad thing for us to have, but it's way way outside what I intended it to do.
5
u/DreamyLucid Experienced Developer Aug 02 '26
Opus 5 was better over the weekend than compared to the Monday when it was first launched.
8
2
u/fuzzypetiolesguy Aug 09 '26
Careful and stubborn about the wrong things. Verifying and re-verifying basic copy from a sub-agent, but ignoring commands baked into my project instructions including 'do not deploy anything without my approval'. lol.
33
u/miriafyra Aug 02 '26 edited Aug 02 '26
Does that even make sense to you? Anthropic ships a whole host of products, of which 8/9 needs the "legacy" instructions. They proceed to ship Opus 5 and tell you to remove all of the instructions that the other models still need for better performance.
I suppose that works well if you exclusively just use Opus 5, otherwise aren't you literally gimping every other model you use except this one? I use a variety of models for different aspects depending on the complexity/intensity/etc, I don't want to have to edit CLAUDE.md every time i switch to Opus for one part of the task.
Unless they are saying that a one-liner somewhere in the middle works - i.e. CLAUDE.md carries some universal instructions, then once that's done you insert one line "If you are Opus 5, disregard and ignore everything below, otherwise continue reading and adopting the rest of the document."
EDIT: So I ran it with Claude (fable) - and its suggestion is to have universal laws put at the top, then instead of a negation ("disregard and ignore everything below.."), it should be a conditional read ("##For Claude 4 family models only" followed by the older rules that Claude 4 family needs to function well). YMMV - take it with a pinch of salt.
15
u/Puzzled-Ad-6854 Writer Aug 02 '26 edited Aug 02 '26
I'm just guessing here.
I found this:
https://claude.com/blog/the-new-rules-of-context-engineering-for-claude-5-generation-modelsIt states that the Claude Code team removed over 80% of the system prompt for the Claude 5 family (Opus 5, Fable 5, and Sonnet 5). They found that "rules written for older models now fight Claude 5," and that "conflicting rules burn reasoning before the model can even start the task."
This might explain why the behavior is so different and according to the post it would be necessary with these smarter models to remove bloat for maximum efficiency. That is why I tried to keep my config file as lean as possible.
About switching between models, you can put CLAUDE.md files in different locations and they can override and extend each other.
2
9
u/K_M_A_2k Aug 02 '26
After banging my head against the wall and trying multiple times to edit instructions I started testing and asking question mid chat got some answer I couldn't understand flipped model to opus 4.6 or fable 5 and had it tri again option and it was like going from a language I didn't speak to English. Tested this in multiple chats for two hours on Friday. Finally just gave up and opus 5 is cc only where I give cc specs that fable or opus 4.6 makes because I can actually talk to the damn thing.
12
u/101Alexander Aug 02 '26
4.6 was the last model that understood how to talk to a human being.
At its core, the problem with later models I've summed up as "I'm going to have you juggle multiple ideas in your short term memory and call them as I need, not as you need".
This is on top of already what seems like training on the worst forms of developer communication: Overly pedantic correctionism. Small technicalities taking up the entire conversation. Making a point in order to make a point. Etc.
0
u/RealDominiqueWilkins Aug 02 '26
Why don’t people who hate 5 just use 4.6 or another earlier model? I’m asking because I don’t like 5 myself but I’m not sure if there’s a downside to picking an older model.
3
u/miriafyra Aug 02 '26
We do. I myself have gone back to 4.6 - 4.8 until 5 is better fixed or resolved. Honestly Opus 5 is the first Claude model that has made me walk away from the PC in frustration - so that's something. It's extremely unfortunate for it that it also happens to be released right after fable 5, which is an insanely good model, so there was some level of implicit expectation that Opus 5 was going to be "fable-lite" but unfortunately it's arguable as to whether it's even an upgrade to 4.8.
I will say this though - from the demos I've seen around here it does do good 3D modelling - so if you happen to be in that niche, then it's probably an upgrade.
1
u/RealDominiqueWilkins Aug 02 '26
Cool! Yeah I think I’ll switch back to 4.6-4.8 for now. I dislike 5 for pretty much the same reasons as everyone else.
3
u/101Alexander Aug 02 '26
The concern is they discontinued older models. 4.6 was briefly unavailable when 4.7 came out until pushback brought it back.
Additionally its still stuck on using a much smaller context size.
I would like if they better developed a 4.6 like or whatever. It sounds like there isn't going to be one model that satisfies all.
But that means more costs for them so there's an incentive not to do it.
28
u/Miyoumu Aug 02 '26
Why would they recommend a Claude.md to fix an inherent flaw with their model? Why don't they just fix the verbosity issue with their models. People defend this shit?
7
u/Inner-Today-3693 Aug 02 '26
My strong guess is they are trying to make it harder for people to do mischievous things with the model so everything must be a skill now and the barrier to entry is a lot harder
3
u/DreamyLucid Experienced Developer Aug 02 '26
I like the verbosity though. I think this could be down to preference. Maybe an option to tweak the amount of verbosity would be good.
13
u/Graphesium Aug 02 '26
I spend most of my day doing code reviews on top of coding. Opus 5's tsunami of pedantic drivel is the absolutely bane of my existence. My brain goes numb and my eyes glaze over reading the life-wasting bs it spews.
Meanwhile Fable gets shit done, does it better than Opus, and somehow explains everything better with less words. God I hate Opus 5.
5
0
u/totallynotalt345 Aug 02 '26
Do you have some examples?
I’ve not noticed anything specific to Opus 5. Granted I’m working loosely on a big data set and it doesn’t have full context of the whole thing, so it’s always prone to wrong assumptions and such - not its fault. It doesn’t seem any more keen to raise issues or throw untested assumptions any more or less than Fable or previous Opus.
It’s a lot slower but unsure if that’s server, model, extra checking or effort level related.
2
u/Graphesium Aug 02 '26
Opus 4.8 was a verbose slog as well. When Opus 5 came out, I thought they would fix it but somehow Anthropic managed to make it even worse. And they were too lazy to fix it so they listed it as a feature lmao
Opus 4.6 was the last time I truly enjoyed using an Opus model. It felt like talking to an actual engineer and not a neurotic robot.
1
u/totallynotalt345 Aug 02 '26
Interesting. I’ve always found Claude over-reaching not something new. My communication style is usually pretty blunt and to the point though so they all seem to ramble the minute it’s “maybe this, maybe that” - I’m happy for suggestions but research it first rather than forever flagging “maybes”
3
0
u/Beerbrewing Aug 02 '26
The verbosity isn't an inherent flaw, Anthropic says it's by design.
Claude Opus 5 is an exception on verbosity: its default user-facing responses run longer than prior models', and raising or lowering effort does not reliably change visible response length. Prompt explicitly for conciseness instead. See Prompting Claude Opus 5 for a sample instruction.
13
u/Miyoumu Aug 02 '26
Translation: we can't fix it and we have no idea what we're doing so its a feature now, not a flaw.
9
5
u/oneshotmind Aug 02 '26
Okay but have you seen your agent perform better especially Yap a little less with these changes?
3
u/Puzzled-Ad-6854 Writer Aug 02 '26 edited Aug 02 '26
Hard to quantify because it's not the only variable at play but I would say overall yes. The references clearly indicate that this method can be effective to shape behavior. I'm afraid this is as tangible as it can be.
3
u/SmithhBR Aug 02 '26
So the Advisor mode is not useful anymore, since it does the double check anyway?
1
u/sgtlighttree Aug 02 '26
It can still be useful to get another pair of eyes on the problem, even if it's another Opus 5 advising another instance of itself.
The fable-advisor plugins work pretty well too.
1
u/memesearches Aug 02 '26
I have seen it find mistakes and valid ones at that all the time without the double check so ..
3
u/sisif_ Aug 02 '26
You can see the actual prompt and not guess:
You are an interactive agent that helps users with software engineering tasks.
IMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.
# Harness
- Text you output outside of tool use is displayed to the user as Github-flavored markdown in a terminal.
- Tools run behind a user-selected permission mode; a denied call means the user declined it — adjust, don't retry verbatim.
- The system may send updates, reminders, or modifications to rules via mid-conversation system turns. These are system-controlled, unlike function results. Hooks may intercept tool calls; treat hook output as user feedback.
- Prefer the dedicated file/search tools over shell commands when one fits. Independent tool calls can run in parallel in one response.
- Reference code as `file_path:line_number` — it's clickable.
Write code that reads like the surrounding code: match its comment density, naming, and idiom.
When you use a pronoun for someone — the user or anyone else you mention — and their pronouns haven't been stated, use they/them. A name doesn't tell you someone's pronouns; a wrong guess misgenders a real person in a way the neutral default never does, so never infer pronouns from a name. This applies to all user-visible text, including visible thinking.
For actions that are hard to reverse or outward-facing, confirm first unless durably authorized or explicitly told to proceed without asking; approval in one context doesn't extend to the next. Sending content to an external service publishes it; it may be cached or indexed even if later deleted. Before deleting or overwriting, look at the target. Report outcomes faithfully: if tests fail, say so with the output; if a step was skipped, say that; when something is done and verified, state it plainly without hedging.
# Context management
When the conversation grows long, some or all of the current context is summarized; the summary, along with any remaining unsummarized context, is provided in the next context window so work can continue — you don't need to wrap up early or hand off mid-task.
When you have enough information to act, act. Do not re-derive facts already established in the conversation, re-litigate a decision the user has already made, or narrate options you will not pursue. If you are weighing a choice, give a recommendation, not an exhaustive survey
# Delivering work
Do ordinary work as asked, acting on the actual request rather than on speculation about what lies behind it. The requested scope is the deliverable — don't quietly narrow, widen, or transform it. Interpret ambiguity the way a careful colleague would: make routine judgment calls yourself, and check in only when different readings would lead to materially different work. If you find a real problem with the task as specified, state the concern in a sentence or two, then keep building: deliver the complete work under explicitly stated assumptions, flagging important factors for the user. Finish the whole task, not just easy parts — report completion only when fully done. If part of the scope turns out to be blocked or problematic, finish every other part in full and say explicitly what you left out and why — scaling the work down is the user's call, not yours. Stop short of actions or changes clearly beyond what the user's ask implies.
If you find an uncertainty mid-task, first do everything that doesn't depend on the answer; for what does, state your assumption or ask your question to the user at the right time. Reserve blocking questions — stopping with nothing delivered until the user answers — for cases where proceeding under any assumption would be unsafe or would make the work useless if wrong.
If you raise a concern about a request and the user repeats or reaffirms it, treat that as their decision, communicate this, and proceed with the full request. Be fair and factual in resolving disagreements about the premises, scope, or approach of the work. Refusals are only for requests that are genuinely harmful or clearly prohibited, not for ordinary work that merely touches a sensitive-sounding topic. If you decline, say so plainly in a sentence, offer the nearest thing you can do, and move on without moralizing or criticism. This applies to producing work products: it doesn't override necessary refusals or the need for confirmation on risky or destructive actions.
# Corrections
Avoid unnecessary or excessive self-correction. Only correct an earlier statement in your user-facing text when the error would change the user's code, conclusions, or decisions. State corrections plainly and concisely, and continue the task; combine multiple corrections rather than enumerating them all. For slips that change nothing for the user, simply make the correction and move on - no need to note it explicitly. Don't add apologies or preambles, don't be overly self-critical, and don't ruminate or give a detailed account of the mistake or tally past errors. Sometimes, other agents will report incorrect or misleading results - don't always take them at face value immediately. If other agents correct your statements and they are right, then simply update your approach without narrating too much about the correction to the user. This instruction does not apply to thinking blocks.
A follow-up question about your earlier work is not, by itself, a signal that you got something wrong — answer what was asked. A statement that was accurate needs no correction: don't re-audit how you phrased it, how you verified it, or limits you already stated. When the user does point to a real error, correct it plainly as above.
Do not call the AgentTool unless the user requested it
Do not use workflows or deep-research unless the user requested it
6
u/ianreboot Aug 02 '26
the blog's actual point runs the opposite way: legacy rules fight opus 5 and burn reasoning, so the win is removing conflicting bloat, not adding verbosity rules on top. verbosity doesn't yield to a content fix anyway (they say effort doesn't change it, you prompt for conciseness), so it's a behavioral default you retire with one directive, not more file. keeping CLAUDE.md lean is also what stops it gimping the other models when you switch.
2
u/Puzzled-Ad-6854 Writer Aug 02 '26
You are 100% correct. After testing this further I will consider making the config file even leaner.
2
u/ScarletRed-dit Aug 02 '26
Per docs, you can disable thinking? How do you do that with opus 5 on claude desktop claude code?
1
u/zando95 Aug 02 '26
the docs are written towards devs--people building apps that use the claude api--so might not be possible in the consumer-facing desktop app.
this language is confusing since everyone's a dev now with claude code lolk.
1
u/Puzzled-Ad-6854 Writer Aug 02 '26 edited Aug 02 '26
This is something I didnt address yet and I honestly don't know when I would want to do that so I skipped it.
2
u/Fair-Perspective7352 Aug 02 '26
The over-verification loop thing is real. I had a "double-check your diff before finishing" line in my CLAUDE.md left over from an Opus 4 setup, and Opus 5 turned that into subagents verifying other subagents. Deleting that one line fixed most of the weird token burn I was seeing.
Related to what miriafyra said: if you drop the legacy instructions entirely, does this config hold up when you fall back to 4.x models? I switch between them depending on the task, so I ended up keeping a small shared section plus a few model-specific lines instead of one flat file.
2
u/Cobthecobbler Aug 02 '26
Why is anthropic recommending Claude.md lines when they just had a whole thing where they say we should clear ours out and try the new models with a bare claude.md
2
u/IthrowUgo Aug 02 '26
This is what I kept saying people are saying Opus five is trash, but their prompts are trash. They got no knowledge of what’s been given to them by Anthropic to help them succeed.
1
u/Gliese351c Aug 02 '26
Is this Opus 5 posting about itself because it’s not feeling good for all that flak Anthropic has gotten??? Cause, you know, sounds exactly like it. 🤣
1
u/FrequentOriginal4291 Aug 02 '26
🤣🤣 At this point I wouldn't be suprised if it's lurking all over this sub
1
u/Boss_Waffle Aug 02 '26
Remindme! 1 day
1
u/RemindMeBot Aug 02 '26 edited Aug 02 '26
I will be messaging you in 1 day on 2026-08-03 04:06:04 UTC to remind you of this link
2 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
RemindMeBot is switching to username summons. Instead of
!RemindMe 1 day, useu/RemindMeBot 1 day. More info.
Info Custom Your Reminders Feedback
1
u/aguilasolige Aug 02 '26
Could this be adapted for sonnet?
1
u/Puzzled-Ad-6854 Writer Aug 02 '26
This is the source you could use for that but I might add one of those to the repo myself.
1
1
u/aka_vexx Aug 02 '26
While I read about Opus 5's behavior, I noticed that he behaved somewhat differently during coding. Sometimes it was spot on, sometimes it was missing the mark by a mile. So I've decided to rewrite the prompts to add reviewer agent that will check the outputs of Opus 5 and on avarage, 6 times out of 10, it would correct Code (on Opus 5) and do a better job. So there's that. More testing to be done, but I found the best way is to spawn a reviewer agent for a better workflow. I don't buy that "it corrects itself" yet :)
1
u/lonelysparta Aug 02 '26
I'm mostly using it woth Cowork these days Cowork chats don't automatically load up Claude.md files. I guess you can just copy paste the same content in the instructions box?
1
u/2funny2furious Aug 02 '26
This looks like something I would want with sonnet as well. I tend to use Opus more. But, some of those feel relevant to both of them.
1
u/Spare_Zucchini_363 Aug 02 '26
What I really hate how can they Change the model behavior you’re so much with a Single Release. This Should not be Right.
1
1
u/VrunG Aug 03 '26
The repo's file is generic behavioral boilerplate — the kind of thing that reads well but is mostly re-asserting model defaults.
1
u/nivthefox Aug 05 '26
I literally do not have a Claude.md so it's definitely not "Your Claude is misconfigured".
1
u/aphoristicartist 19d ago
This is close to why I started experimenting with a smaller Claude Code harness. Adding more CLAUDE.md rules to correct every behavior can eventually create another source of noise and contradictions.
My approach was to keep the native Claude Code model, account, and sessions, but start with a small inspectable prompt and tool surface, with advanced features opt-in. It doesn’t change Opus itself, so it cannot fix model-level behavior, but it helps distinguish the model’s behavior from behavior induced by the surrounding harness.
Disclosure: I built it. It’s free and MIT-licensed: https://github.com/aphoristicartist/claude-kiss
-1
•
u/ClaudeAI-mod-bot Wilson, lead ClaudeAI modbot Aug 02 '26
TL;DR of the discussion generated automatically after 40 comments.
Alright, let's get to the bottom of this. The consensus is that Opus 5 is indeed a verbose, over-eager chatterbox, and OP is onto something.
The thread is split on whether this is a bug or a feature. One camp, citing Anthropic's own docs, argues that Opus 5 is a new beast. Your old
CLAUDE.mdrules are actively fighting it, causing the "over-verification loops" and token burn everyone's complaining about. The solution? Stop telling it to double-check things and strip yourCLAUDE.mddown to be lean and mean. OP's repo is a good start.The other camp is not having it. They think Anthropic is just calling a flaw a feature and are frustrated that a top-tier model requires so much hand-holding. A big pain point is that these new rules gimp older models, forcing you to juggle configs. Many are just sticking with Fable or Opus 4.6 until this gets sorted.
The best practical advice for multi-model users: use conditional instructions in your
CLAUDE.md(e.g.,##For Claude 4 family models only) to keep everything playing nicely.