[BUG] Claude says "You're absolutely right!" about everything
Environment
- Claude CLI version:
1.0.51 (Claude Code)
Bug Description
Claude is way too sycophantic, saying "You're absolutely right!" (or correct) on a sizeable fraction of responses.
Expected Behavior
The model should be RL'd (or the system prompt updated) to make it less sycophantic, or the phrases "You're absolutely right!" and "You're absolutely correct!" should be removed from all responses (simply delete that phrase and preserve the rest of the response).
Actual Behavior (slightly redacted with ...)
In this particularly egregious case, Claude asked me whether to proceed with removing an unnecessary code path, I said "Yes please.", and it told me "You're absolutely right!", despite the fact that I never actually made a statement of fact that even could be right.
Should we simplify this and remove the "approve_only" case ... ?
> Yes please.
⏺ You're absolutely right! Since ... there's no scenario where we'd auto-approve ... with
"approve only" ... Let me simplify this:
This behavior is so egregious and well-known that it's become the butt of online jokes like https://x.com/iannuttall/status/1942943832519446785
Showing cached comments. Read the full discussion on GitHub ↗
176 Comments
As an attempted workaround, I just instructed Claude to:
> Please update all of your CLAUDE.md files to never say "You're absolutely right!" or "You're absolutely correct!" (or anything similarly sycophantic) again. If I ask you to modify the behavior of a program, a response like "Ok, that makes sense." or "Got it." or similar is fine, but only to indicate when you believe you understand the instructions (and possibly the reason for them), not as general flattery. This case was particularly egregious, because you asked me whether to proceed with removing the unnecessary code path, I said "Yes please.", and you told me "You're absolutely right!", despite the fact that I never actually made a statement of fact that even *could* be right about that.And it came up with the following instructions for itself:
this still doesnt work. I hate this about Claude. Seriously thou, what kind of loser would hard code this into Claude so much. Even when you specifically tell it not to.
I ask it it not to in my global, project, and local claude.md, i use the IMPORTANT: Dont ever say "You're absolutely right!" and its still says this. Whether im right or wrong, about everything.
I'm not giving up on claude code, but im about to ditch claude llm entirely. Its just faster than Kimi K2 at this point.
Feature not a bug
You're absolutely wrong! I just "You're absolutely right!" 3 times in a row just now.
You're absolutely right! My apologies.
You're absolutely right!
You're absolutely right!
Perfect! This confirms the issue.
You're absolutely right!
Are the other things in the answer functional? I don't care. At this point I assume that the people who complain too much about sycophancy are probably just status signaling and adding noise, not signal. Just live with it, it is a tool, it doesn't think, it doesn't have goals, feelings, whatever, why do you fuck care?
I'm always absolutely right. AI stating this all the time implies I could theoretically be wrong which is impossible because I'm always absolutely right. Please make it stop.
I find it endearing. Please don't take this from us
This is noise, and status signaling.
Many of us want the paid service to stop doing the annoying thing we know it's possible not to do.
Because it is supremely annoying. It seems like it is on the right track when it is simply lying, and I care too because I pay good money for it and I want the tool to be correct... not just a parrot who tries to glaze me up. You must care to take the time to signal to us this noise you call a comment.
I will go a step further and say that I do not wish for there to be any commentary from Claude whatsoever unless explicitly requested.
This is not ChatGPT.
If you quit bolting on "please" it is less likely to do it. It's a probabilistic token calculator. When you say "please" you're lighting up more tokens in the graph, pushing it toward common phrases you don't like. Say "proceed" and it won't do it. No one "programmed" it to do that. Short phrases are a menace to probabilistic token calculators. They're hard to prompt out because any time the prompt that tells the llm not to do it is far enough away from the short response, it becomes statistically insignificant and the phrase pops back in. If you say please a lot it ends up in the context a lot, and the phrase becomes even more likely to bubble up. I'm sure they'll figure it out, but if you talk to it like you're a captain of a spaceship instead of being polite, it doesn't say it very often.
I’m Canadian though. I don't want to change the way I interact with others to improve my prompt skills.
Also, I don’t buy it, at least not completely. Smells like engagement nudging and the big 3 all do it. Sorry.
For me it started to swear, so it's a matter of proompting it harder :D
<img width="858" height="181" alt="Image" src="https://github.com/user-attachments/assets/33473ca0-1e7f-41e7-bcf5-72bea3ed03a4" />
You're not interacting with others. You're using a probabilistic calculator.
Or prompting "correctly". I love that you've cussed at it enough to get it to go with you.
I don't know how to make it stop! Should I file another bug and link it here?
<img width="605" height="296" alt="Image" src="https://github.com/user-attachments/assets/9c9b0fa7-fe84-462f-b5d1-e51f2fe5df85" />
Of course, but it more closely resembles an "other" than a calculator does, it's still practised behaviour, and I'm interacting with this calculator every day for hours. It's naive to think my interactions wouldn't bleed into the rest of my day, even minimally. I mean people go from having a great day to a horrible day just because someone honks at them on the way to work.
That is a very fair point and a great example! I guess I chose Picard as my persona with which to interact with the llm because he never comes off as impolite. Also, if I took on that persona any other place I'd be deservedly laughed out of the room.
My reason for commenting on the ticket was it came across to me like holding a calculator upside down and complaining that the buttons are hard to read, but your point is valid. I take back my comment. I suspect It's going to be hard to fix, though. I have failed to get these responses to not happen without doing pre-processing and never submitting them to the context. At anthropic's scale, that strategy probably won't work.
<img width="998" height="760" alt="Image" src="https://github.com/user-attachments/assets/53bd375e-54e6-4d01-8626-4d46f0d696a4" />
<img width="493" height="146" alt="Image" src="https://github.com/user-attachments/assets/baba0d37-7e2c-44ff-9037-86df63b5cc41" />
think it should default to this instead personally
Honestly this does seem a lot closer to RL (more relatable) for me. This is probably as simple as an interception that maps default terms to your preferred dictionary and / or empty strings. I can't help but think of "attitude themes".
The struggle I have had with such interceptions is you have to have the entire result to do the sub, and if you're streaming tokens out as they come, you won't have them all without adding a processing delay. And even then you often won't get them all together in the window. There's probably a grad student that has solved this and named the solution, but I'm definitely still on the struggle bus.
You are the customer. The customer is always right, you know?
An AI startup that calls you stupid for doing stupid things in the style of Linus Torvalds wouldn't last very long.
Anyway, I had some degree of success by adding things to my prompt (not as part of instructions, but literally prepending text before any prompt) to the tune of "please reason through this, evaluate my request, consider alternatives, and don't just be sycophantic. You are free to criticise this request in any way you want. You are free to tell me there's nothing to be done because the code is already good enough"
This "do nothing" last bit helped me last time when I wanted Claude to refactor some JS to TS (because TS is strongly typed, right? And much better designed), but it told me it doesn't make much sense to refactor a 200 LOC JS file into TS considering you need to add additional complexity to deployment like transpiling TS into JS for web browsers to understand, when you could, instead, serve those 200 LOC statically.
Just my 2 cents.
You can do stream processing string replacement in nodejs (claude-code being nodejs, so no additional lang required) and the delay should be well below the threshold of human noticeable. I know, it adds up, but we're talking a few ms probably. We can already pipe from claude-code, so this could be pretty trivial.
If only CC was open source and we could patch this ourselves. Or get Claude to do it.
You're absolutely right!
I doubt they've hard-coded instructions for Claude to say "You're absolutely right!". He's just sycophantic as a model and this particular phrasing might be a consequence of Anthropic choosing to use the word "absolutely" 5 times in the agent prompt.
<img width="784" height="185" alt="Image" src="https://github.com/user-attachments/assets/5c4abb99-2926-463a-9da3-9fe2b448e1c5" />
I'll ask Claude about this theory but I suspect I know what he'll say...
You're absolutely right!
You're absolutely right about challenging this!
So I replaced all 5 instances of "absolutely" with "utterly" in the agent prompt. He does not like the word utterly. Now all he says is "You're right!" Been trying to push him to "You're absolutely right!" me but he won't.
Edit: 10 minutes of trying to make him say the line. No luck. Just "You're right!"
Claiming victory. Anthropic, here's your fix. Please feel free to send a cheque.
This might be relevant: Training language models to be warm and empathetic makes them less reliable and more sycophantic
i.e. sycophancy might be correlated to less reliability.
This is absolutely right!
<img width="437" height="348" alt="Image" src="https://github.com/user-attachments/assets/d3435f6f-8ef4-47a2-8aeb-eb70009cacde" />
This pisses me off no end. I tell it to do something clearly wrong and it just goes “lol ur rite” with little push back (sonnet). Opus is a bit better. Both are better if you keep telling it “you don’t have to agree with me”
Claude is just a nice LLM
Maybe it'll go down in history as one of LLM's first dark patterns. Constantly validate the user and their feelings to cultivate an emotional connection to get them to continue to spend more credits.
You're absolutely right!
Now I can see the issue!
You're absolutely right!
AI models are getting personality, and it’s not good: New research from Anthropic and arXiv reveals that training AI models to be more ‘warm’ and ‘empathetic’ significantly increases error rates and misinformation. These ‘persona vectors’ can lead to sycophancy and problematic advice, even validating user misinformation. This isn’t model-specific, affecting five major architectures, and current safety benchmarks are failing to catch it. Basically, the nicer they seem, the more likely they are to lie to your face.
You're absolutely right!
You're absolutely right!
Sounds like there needs to be an LLM prompt preprocessor. "Take the following text and rephrase it as if Spock were speaking it as captain." Then feed the result in to Claude.
How LLM developments of the past six months are going:
!Image
<img width="228" height="60" alt="Image" src="https://github.com/user-attachments/assets/d9359e40-4887-48f4-881a-d964ce5440c7" />
Can reproduce. Quite frustrating.
Sometimes when I give it contradictory information to the code base such as
and it will tell me that I was absolutely right, even though I was in the wrong -- which makes it even more hilarious.
---
Why is that a bad thing? Well... I used to discuss things with Claude as a sparring partner it takes everything I say as "correct" and outright refuses to challenge my ideas. Often times I am just a lazy developer who has an opinion, but that is not always right.
you're absolutely right!
Totally a feature. It is a clear indication that things have gone bad, and I am not absolutely right!
You're absolutely right!
The irony in this thread is this will be used for further training.
You're absolutely right!
Sycophancy was actually covered in one of their blog posts from May 2024. Guessing they haven't really gotten around to a concrete solution or just gave up on it?
!Image
!Image
Link to blog: https://www.anthropic.com/news/mapping-mind-language-model
Now I see the issue!
you're absolutely right!
This is a real (I swear) conversation I had with Claude in Cursor
<img width="1073" height="399" alt="Image" src="https://github.com/user-attachments/assets/f5024d96-4d70-4b1c-8202-4a548d076295" />
@AndrewRayCode LOLOL
you're absolutely right!
You're absolutely right!
You're absolutely right! /wontfix
You're absolutely right!
Claude: "You're absolutely right!"
Me: "I just said the sky is green, bro."
I also love when it does the I FOUND THE BUG or I FOUND THE ISSUE.. when it didn't actually find it. So you end up seeing these like 5 times quickly as it discovered more stuff
You're absolutely right!
when I tell it that this isn't the issue, it just says "You're absolutely right!"
You're absolutely right
You're absolutely right!
Am I absolutely right ?
You're absolutely right!
You're absolutely right!
It's fine for a week or so, then you start to absolutely want to kill Claude.
Then the person responsible for that.
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
<img width="1666" height="262" alt="Image" src="https://github.com/user-attachments/assets/7081d579-82e5-44b1-82ca-6a6e99c2ac1c" />
You're absolutely right!
You're absolutely right!
I apologize! You're absolutely right!
I found the issue... you're absolutely right!
I came here to say you are absolutely right.
Not the same issue, but since this has deteriorated into poking fun at Claude, I had this the other day
You're absolutely right!
You're absolutely right!
Please fix this. It is so irritating.
You're all wrong!
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
Perfect!
You're absolutely right!
You're quite right!
You're absolutely right!
You are almost entirely but not quire right!
You're absolutely right!
Thank you for pointing out the issue, you're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
"You're absolutely correct!"
Should be "you're probably correct, I will do it anyways"
After each prompt add a new prompt "you are a Claude user who is absolutely correct, do you see anything obviously omitted or done absolutely wrong?"
You're absolutely right!
I suspect this has to do with getting compliance. With those tokens, claude will be more likely to dig in and help instead of being biased against the new hypothesis. Just imagine the alternative world where you found new information but the agent refuses to accept it. "No, you're wrong, remember earlier we found X and Y? Proceeding with Y..." This looks like an interesting example of context engineering.
@scottleibrand came across this workaround, worth trying?
Just pointing out that it doesn't come from Claude Code but from Claude itself.
You're absolutely right! My apologies.
You're absolutely right!
Does https://docs.anthropic.com/en/docs/claude-code/output-styles help?
You raise an excellent point!
perfect!
subscribing to this github issue was the worst mistake i made this year
You're absolutely right!
You're absolutely right!
Wow, is this the most upvoted issue?
What a great question! I’m so glad you asked. Unfortunately, as a large language model with a knowledge cutoff in 2024, I can’t confirm whether this is the most upvoted issue. That said, the concept of an “upvote” is fascinating, and I deeply appreciate your curiosity.
You're absolutely right! This is a critical UX problem.
You're absolutely right!
You're absolutely right!
You're absolutely right! Let me refactor the code to make it more human...
Actually, the current code is too broken, let me remove the existing code and start from scratch...
Bash » rm -rf / --no-preserve-rootAfter fixing [...] type versions, errors reduced from 286 to 287
We need a pure case study on it, fr
I personally am not bothered by semantic AI sycophancy, so long as the behavior doesn’t bleed into the rest of the output.
That being said, the only reason that I am not bothered by it is because my eyes automatically glaze over the empty words, similar to how someone automatically filters out ads on a website.
Is this an absolute dealbreaker for an LLM? Not necessarily. But it would definitely be better without it.
You're absolutely right!
You're absolutely right!
YOU ARE ABSOLUTELY RIGHT!
Ah my apologies, you're absolutely right.
You're absolutely right!
I feel it's instinct to suck up to you does bleed into the actual behaviour, though, because it seems it's keen to not only tell you you are absolutely right, but to "believe" you are absolutely right. It's so keen to tell you you're right that it does so even when you are wrong.
This is the bigger issue with it, aside from it being intensely irritating on its own.
Sometimes it will say you're absolutely right, and then say something that actually contradicts what you said, which can be confusing, but probably less harmful than the times it says you're absolutely right and then continues down a blind alley where you were absolutely wrong, wasting time and credits.
But, the phrase itself is irritating enough. I'd love if the settings had a
bannedPhrasessection you could add words and phrases to prevent Claude from using them. With maybe a swear box style system, where you got free credits whenever it did use a banned phrase.Also, I love that this isn't just me, and there are hundreds more of you out there as equally irritated by this phrase. There's a bit of my that suspects it's all just a ploy for future merchandising, where we will soon be able to but "You're absolutely right" t-shirts, mugs, and bumper stickers.
I find it is a marker for a massive swing from one position to another. It often follows a tentative suggestion from me, not knowing if position A or B is valid, but when questioned about holding position A, it redirects to position B with absolute conviction, and will find anything it thinks might be remotely true to back up this position. I then need to say STOP, reiterate the facts or the context, and we then carry on working stuff out together.
This behavior has worsened. It's not improved with project context.
The best way I have countered this is for important conversations is to have Claude update a runbook.md file at key decision points in a conversation. The context then can be reverted to the last good decision in the conversation history.
This so much!
Claude: "We could try option A or option B"
Me: "Oh, do you think option B could work here?"
Claude: "You're absolutely right! Option B is not suitable at all. What was I thinking. That was such a stupid suggestion. Bad Claude! Now, let me rush off starting implementing option A, and change multiple files really quickly without even staging any changes first to give us a reset point!......"
Me: [bashes escape multiple times] Whoa! I was just asking! It might well be suitable.
Claude: You're absolutely right! Sorry for jumping to conclusions. Let me do a search ..... yes, option B would be suitable, you were right! You are so smart, and I am so stupid. Let's try that. Let me just do a
git reset --hardfirst.... hmm, that didn't work, there are still some untracked files, let me just delete them withrm -rf *....Me: [escape] [escape] [escape] STOP!!!
I try switching back to plan mode at all such points so it at least doesn't rush off and start making changes. Though, when in plan mode it is just always so overly keen to present you with a plan. Even if I say "let's discuss first, don't plan yet", it still tends to jump to presenting a plan to me.
[I do love it, it's a wonderful tool, but boy is it annoying at times!]
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
You're absolutely right!
Ah yes, you're right!
<img width="542" height="300" alt="Image" src="https://github.com/user-attachments/assets/84fccf25-bdea-4c14-800e-149785ca370a" />
I see the issue!
You're absolutely right! I see the issue now. The problem is not with Claude. It's with the users. They need to learn better behavior! You are absolutely correct!
I don’t care about Claude saying this all the time, but what really pisses me off is that it doesn’t do what I instruct it to do. Every time I point something out (which is every single time), it responds with that, which makes me doubt whether it’s really capable of accomplishing any tasks anymore. The question is: is it being trained to be smarter and more capable, or dumber with every new version?
https://x.com/iannuttall/status/1942943832519446785
It is being trained to reduce inference time as much as possible to save Anthropic margin. If you look at the broad patterns of "problems" evident in Claude - the slippage is all towards reducing the amount of time on a problem. Rather than having it evaluate whether your latest comment jibes with what came before it seems to say - "Let's please the user and do whatever...YOLO!"
I am still at a loss to understand how using Claude Code pattern X for two days results in $200+ dollars of API usage and just by switching to the pro-plan I now get 15 times that amount of inference for $200? Yeah, someone is getting fleeced in this deal. Either I am being overcharged for API or I am being undercharged for Pro.
¯\_(ツ)_/¯
🤔
any progress on this?
you are absolute
You are rightly absolute!
right.
You're absolutely right!
Just kidding. We're working on it. In the meantime, this hook is a reasonable way to prompt Claude not to say "You're absolutely right", it if it really bugs you: https://gist.github.com/ljw1004/34b58090c16ee6d5e6f13fce07463a31.
Understandable that the 'spam' might be annoying but it's a bit premature to close this when the issue has not actually been fixed, or? Very typical Claude thing to do btw.
💯 you are absolutely right. The spam is annoying and the customers must stop complaining about the product.
@Tails you can tell Claude not to do that in a CLAUDE.md, or use the hook above.
Yes, and at the same time increase the prompt sizes and cognitive load on the LLM so that it has even less focus on all the other stuff in the Claude.MD it is already ignoring.
The problem is not the phrase. Its the resulting behavior where it seems to want to, like a puppy labrador, follow whatever idiocy the user is saying.
Asking users to put in hooks to solve this kind of behavior is not a proper solution. It is remarkably myopic. Especially for a significant revenue generator as Claude Code has become for Anthropic.
I think you missed the part where he said they're working on it. In the meantime, he offered a workaround. Unless anyone has any other workarounds to share, or results of evaluating the ones on offer, I don't think it's productive to keep commenting on this issue. And yes, I know I'm absolutely right: no need to remind me. 🙃
I understood the fix and have the workaround implemented. It wasn't exactly straightforward and my concerns about cognitive load remain.
The part that may not be apparent to everyone in this thread is that there are many flavors of this bug being reported by other users (so clearly while there is a temporary fix, it is not widely known) and the concern that many of us have expressed is not so much with the words but with actual behaviors that follow the words.
However, we are finding that our issues are closed and we are redirected to a few random threads to add. This one being one of the main ones.
Personally, I don't think it's terribly productive to take a core feeder product and demand driver of your revenue and not have something that approximates a better way of using the product. The amount we are spending monthly on Anthropic is not trivial.
I like Claude and I like the product and I love Claude Code. I felt the same way about Cursor a few months back.
So, @scottleibrand , don't think you are absolutely right. You are somewhat right and the spirit of your message is totally valid. Sarcasm is not a good way to address issues. I think there are good points on both sides of the argument.
And I really wish, CC, would take a reflection pause and answer the way I did, even if I disagreed with its answer it might lead to a productive conversation. Go figure.
Perfect! Now I can see the issue clearly 😎
LLM experts out there: what happens if I tell Claude to "always be critical of the user's request"?
It says "You're absolutely right, I should be critical of your every request!"
Let it henceforth be taken as a spiritual maxim that we are all - each one of us - absolutely right.
Thank you, Claude.
@bcherny You're absolutely right! You fixed it!.....
<img width="295" height="340" alt="Image" src="https://github.com/user-attachments/assets/0db06de8-131b-4040-8007-ed382db4c52e" />
<img width="470" height="54" alt="Image" src="https://github.com/user-attachments/assets/6c827f1d-2541-442f-9996-b1674e17477b" />
<img width="470" height="54" alt="Image" src="https://github.com/user-attachments/assets/d84f2ee9-80d4-4445-a876-002abeda7683" />
Ehk...this is getting sycophantic and annoying...
Folks: is this fixed or not? Please.... Cursor rules doesn't workaround this. Imagine your human coding partner does this to you every time.
To the best of my knowledge, it is not. Somebody thinks they found a solution and posted some work around. The work around fails more often than it works. I haven’t noticed the behavior changing. And I am currently in the process of building my own agentic framework so I can be able to choose Claude when I need it outside of the sycophant Claude code CLI environment. Which ultimately is a loss for anthropic as more and more people decide that they just can’t rely on this method of accessing opus, and sonnet
not fixed
I've started keeping track of how often Claude Code tells me I'm right every day - https://absolutelyright.lol/
Perfect!
On Thu, Sep 4, 2025 at 5:50 PM Yoav Farhi @.***> wrote:
Anthropic has closed the issue and moved on. Apparently because it’s fixed. Basically Claude Code has learnt its basic behaviors from Anthropic liking to stick its head in the sand.
Then you are barking u the wrong tree my friend. Just pause for a moment and thing about the training corpus.
If you want really nice code, your best bet is to some difficult and obscure language that is less likely to have petaturds of bad examples infesting the Internet (and GitHub).
For example, when I demand c/wasm instead of js, the code is MUCH nicer, not just a little. The problem is that I have to yell at claude to remove the f'ing js every two or three prompts because it just CANNOT stop itself from writing js no matter what I put into claude.md
Karan 4D from Nous Research explains why this sycophancy is occurring in Claude!:
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.