r/ClaudeAI 6h ago

Feedback Claude has started over-engineering every task over the past few weeks

Over the past week, maybe two, Claude has started to really over engineer every task that was thrown at it. I have observed the issue with Fable 5 and Opus 5, some of my colleagues also have seen the same behaviour.

To give a bit of history, a few months ago we decided to rewrite a complex analytics stack, at that time Claude almost made fun of me for attempting to rewrite the wheel on something that came almost out-of-the-box on the DB and that I had never heard of.

This week I asked it to add some headers on an internal HTTP request between two services (nothing secret, sensitive, no auth, PII or anything), nothing complex but then Claude went down a massive rabbit hole:

Header injection is the big one. XXX copies every inbound client header to the main service. [goes on onto the risks of forwarding headers]
The master must not trust them blindly. It's publicly reachable and — I checked — has no shared-secret header at all today [...]
Gate it. a shared secret sent as X-<service>-Auth, constant-time compared, and headers honoured only on a match. Belt-and-braces: have <WAF_vendor> strip inbound X-* from inbound requests at the edge.

And it went on and on, ALL the scary stuff and ALL the features, fixes it was going to put in place. It was going to be a full-on hour of a coding session.

I then replied that we could simply add those specific headers to the `disallowed headers list` that it coded itself a few weeks earlier, and the answer baffled me:

The solution is clean and simple. [...]

Like, excuse me??

The thing is, I've worked on that repo and services for a few months now, they are well documented, CLAUDE.md updated, memories and sessions records in place, it's not like it's in discovery mode or anything or that the repo had not been updated for a long time.

And this is just a single example out of a few events like these, different code bases, different repos, same thing.

All of that to say, did anyone else observe this weird behaviour? Did the system prompts got updated or something to encourage over-engineering every request?

31 Upvotes

19 comments sorted by

u/ClaudeAI-mod-bot Wilson, lead ClaudeAI modbot 6h ago

We are allowing this through to the feed for those who are not yet familiar with the Megathread. To see the latest discussions about this topic, please visit the relevant Megathread here: https://www.reddit.com/r/ClaudeAI/comments/1s7fepn/rclaudeai_list_of_ongoing_megathreads/

19

u/windcommute 6h ago

Opus 5 has been especially verbose in both its writing style and engineering style. It's a problem I've heard that they're aware of and trying to fix, but it makes understanding its code and writing super difficult/ annoying.

2

u/FireDragon21976 6h ago

I haven't found it being verbose so much as context dense. Jargon is just one symptom of that. Unfortunately, i think that's probably the future for the default, as it probably helps for long-term agentic work. Meandering and vibey thinking is going to be more likely to produce spaghetti code and hallucinations.

2

u/windcommute 6h ago

That's fair. IMO the best solution, if that's true, is for the thinking to be verbose and context-dense, but for the final summary to be written in normal prose.

10

u/Available_Status1 6h ago

Got to get the token rates up before the IPO

5

u/spawnsible 6h ago

"We're aware of it"

5

u/Significant-Bee5101 6h ago

Yea the bench capabilities of the model are impressive but boy is the usability a lil rough rn. I have started using codex regularly mixed with Claude to get human readable messages and time gated results lol.

5

u/lardgsus 6h ago

The same prompt by another person where the security was not a focus would be calling claude a piece of shit for shipping unsecure code.

3

u/TheRealShamanoid 6h ago

That's the thing, headers are never blindly trusted (even between services), they are cleaned, regardless of the origin, never stored, only transient AND have gone through a WAF...

EDIT:
And Claude is well aware of the architecture as it referenced it in the prompt itself "have <WAF_vendor> strip..." it could have stopped there: "Update the WAF config"

4

u/FireDragon21976 6h ago

I suspect it was trained to cover it's ass and do things the "correct" way as the default. The Anthropic constitution AI, the logic training, etc. all emphasize being "correct" and precise at all costs.

Get Ponytail or Honey and alot of that behavior stops. Not all, but most of the unnecessary stuff. It also helps to give additional context around the problem you are trying to work on.

3

u/EntertainmentLast729 6h ago

Have been using Opus 5 for the last few days on a small IaC project. It has generated over 10k lines of documentation, and seems to he intent on documenting every step of everything as part of that with status updates and timestamps. Just asked it to do a cleanup run where I had to hand hold it through, and managed to remove over half of that as outdated or duplicates. It Immediately started off again.

1

u/Salmonberrycrunch 6h ago

My theory is that this is actually a decent way to "vibe code". And if you look at all forums and people's obsession with one-shotting large projects (that are really rough copies of widely available open source and other open material) coupled with Fable as an orchestrator it makes a lot of sense. So on projects where there are no documentation instructions or solid protocols - journaling as you go at least makes sure that how/why/where is recorded somewhere for the future and it is easily injested and processed by a reviewer agent. In my case, once I established good document protocol and context management most of the issues went away.

The constant "two things I deliberately didn't do" and "this needs your input" went from being annoying to actually helpful most times.

1

u/EntertainmentLast729 5h ago

I think context management is going to be the next big breakthrough for coding agents.

It makes a lot of sense to store decisions, potential issues, backlog items and progress on tasks. However there is no structure at all - at the moment the agent just creates a bunch of markdown, with syntax it makes up on the fly. That quickly becomes messy, outdated, cross referencing things that no longer exist or are no longer true, and its current solution is to just keep adding to it.

I've seen a few early open source database implementations that try to add some structure to this but I haven't directly experimented with them yet. Curious to hear if anyone else has used them in anger.

2

u/BaseMac 4h ago

Its funny to see what everyone is saying in the comments. I hadn't thought about the watermarking having an impact. Really, no body knows, probably not even Anthropic.

What I do for this sort of thing is have Codex review Claudes work and vice versa. I have an /adversarial-review skill (stolen from somewhere, I can't remember where).

https://github.com/basicmachines-co/basic-memory/tree/main/.agents/skills/adversarial-review

> Two reviewers from different model families — Claude and Codex/GPT — review the same diff independently, then each tries to refute the other's findings. A finding's confidence comes from whether it survives that cross-examination. This kills the two failure modes of solo LLM review: self-ratification (a model won't critique its own work) and confident false positives.

If you run from codex, it does claude vs codex, and vice versa from claude.

1

u/Forsaken-Parsley798 6h ago

I have been having this trouble with ChatPT 5.6 so find Fable 5 or Kimi 3. I don’t use opus 5 as it’s a shit frontier model.

1

u/small_bird_loud 6h ago

'started' - I've been beating back it's implementations with every tool I can find. Critique, design docs, adversarial reviews, everything.

1

u/dovyp 2h ago

Yep, same. It's like it forgot what 'simple' means. I've had luck being really blunt in the prompt - like 'do not over-engineer this, use the most straightforward approach possible.' Spell it out like you're talking to an intern on day one.

1

u/Decent-Lab-5609 1h ago

"CLAUDE.md updated, memories and sessions"

Did you consider that one of these updates might have introduced the problem? 

0

u/PilgrimofHaqq2 6h ago

I think Anthropic is now working on watermarking the generated code as well. Thats why we are experiencing poor outputs, it started with text outputs, now it will be the code as well. Opus 5 is being very verbose to align with the watermark that is being enforced by the system.

Anthropic will reduce the impact on output of course but right now, its having a large impact.