I've started giving these instructions and I think I've been much more successful in generating clear output:
Comment blocks are <= 7 words, function names <= 4 words. User-facing message strings should be <= 10 words. Use an active voice, no stage performances, and pick the most common word when choosing among alternatives.
Limiting the number of words is the strongest factor in cleaning up the output, IMO.
For older code I've instructed it to delete all the comments, and then I re-comment it using a new session and these guidelines, asking it to rejustify the need for every comment to itself.
The problem is, when the context window grows, Claude tends to forget these kinds of rules. It will then do whatever it wants. I had to outright ban comments in the global claude.md, the local claude.md AND write a hook to catch any that still slipped through.
I think people really need to focus more on working with limited contexts rather than trying to work around it. I really try to keep my sessions as short as possible and it helps a ton with keeping Claude (et al) focused.
Specifically, I like the "canary" trick that people have discussed where you add a small, innocuous rule to your CLAUDE.md like "When responding to me, start every sentence with my name." so that when Claude stops doing this, you know you've used way too much context and need to start a new session.
Compacting the conversation almost never helps. It is uniformly worse than starting over with fresh context, or rewinding to a last-known-good state. It only exists because it increases engagement.
Compacting mostly gets rid of reasoning tokens, and honestly it would be nice of reasoning tokens did not constantly follow every follow up query. Asking even a simple/trivial question can have Claude use thousands of tokens. Compacting is good for getting rid of those.
Yep. Same here. I frequently tell agents things like "answer using only a single sentence" and "write no more than 10 words". They are excellent at writing code, so have them write code (and not English prose). Besides, most of the time we want them to make reusable software that doesn't require users (or future agents) to read too much text. Software should generally just work and do the obvious thing, without needing verbose explanation.
It's such a sad indictment of Anthropic's product that so many people hate interacting with it. Claude is on its way to the Microsoft Teams zone of hatred.
It's pretty sad indeed. Switching to other models made me notice how weird and verbose Claude was.
The moralizing is incredibly obnoxious as well. It didn't seem so bad at first, but it instantly became intolerable the second I remembered I was paying for those tokens.
Has Anthropic said anything about how or why Claude writes the way it does? So many people hate it, seems like they need to do some damage control there.
I haven't had the same problems others have but I'm also not a heavy user of it.
I pruned my Claude.md and it made a difference. There were entries there that evolved from earlier models and Opus 5 could be reacting to it in a different manner.
They say you aren't interacting with an LLM or a model, but the character that the LLM is playing - the "always be positive and helpful software engineer"
Everybody is complaining about this, at this point I’m sure they will deliver a tone of voice change in the 5.1 releases. Possibly with a new set of problems though, especially if this is part of an effort to obscure thinking to reduce distillation efficacy. In that case I believe Anthropic is doing damage to themselves. Caring about the quality of your product is the best strategy, the competition will come no matter what.
Simply untrue. You think everyone is complaining about this because the ones complaining are the only people commenting. The vast majority of people using Claude don't really care or even notice this one way or another. Sure among those who are irritated by it, it's good to have some ways to mitigate it, but I highly doubt Anthropic is going to devote much resources to an issue that affects a vocal minority.
Over the last 6 months Claude's written material has gone from mediocre to unacceptable. The specific actual content and insights are somewhat better, but the claudisms are increasingly insufferable.
This is the load bearing comment, and it cuts more deeply than you thought.
Let me ground my answer so I'm not just guessing. The blast radius of this change is significant and requires careful surgery to get right.
It's clear now and there's two options going forward:
A. Use this tool OP suggested
B. Rewrite the Internet from the ground up without this clear contradiction in place - 3-5 days
I recommend B and started 3 subagents to read all the code before I get started. I'll wait for them to finish.
I wish I didn't need it, but the way Claude talks can get pretty tiresome. I've often wondered why it talks like that. Was it really trained on Buzzfeed? Is Gemini really that much better?
You can use a cheap model in another pane, and ask it what Claude said.
I prefer this since everyone has their own preference for how the output should sound and it's very simple and transparent. And you can easily ask follow-ups.
It can be via tmux, or herdr, because it can read the pane.
Or it can use a hook to read the conversation file. I call it `backseat-driver`
I sometimes use it as a proxy when fable genuinely does a good job, but is too difficult to understand.
I let the translator know it's role and anything I say it should forward with better context.
I don't swear at it anymore, but I'd often say "just do it, retard", and the translator would actually steer it in a useful manner.
i hate claude writing a lot, especially after opus 4.8 and it's even worse in 5. in many cases, it feels like playing whac-a-mole and you just can't get rid of all those obvious ai writing patterns.
why do you choose gemini? imo this is a fundamental problem of all frontier ai models.
Concise mode is likely the same buzzword salad but with fewer connecting words and terser sentences. Same with Caveman. The way it writes is fundamental to how it was trained.
Or just use a competitor instead of being a slave to this abuse? Why are people so wedded to Anthropic?
I have grown tired of Codex/GPT's writing style, too, but it's not nearly as bad. It's terse and factual by default. Even better if you use the "simple english" skill.
I actually found that GLM 5.x is the best in terms of editing documentation. It's still best to write things by hand to give your own organic voice, though. And not insult your readers.
Fix: Just switch to OpenAI, Grok, or other LLM's. They provide better performance and respond with 5 sentences. They also don't lecture you when you get angry.
That's interesting but raised the same question, why berate a machine? Either the agent is not a person, in which case, anything it does wrong is your fault. Or it is a person, it can be blamed for mistakes, but then we can't in good conscious use it as a tool.
Why berate an LLM? That doesn't sound healthy. Sure, it's a machine, but it's simulating a social interaction - being a jerk to it could bleed over into interactions with real people.
Also, Westworld? These violent delights have violent ends? Perhaps there's a tinge of Pascal's wager to it, but I prefer to be courteous to the rapidly improving synthetic intelligences.
I didn't mean to imply I berate the LLMs. I don't do that. I talk to them as though they were intelligent and potentially sentient beings. When I see problems, I just correct them, take steps to prevent them in the future then move on.
I was just informing people that Anthropic gave Claude a tool that ends conversations and instructed it to use it via the system prompt if it's threatened or insulted.
For the same reason you berate a person or hit a wall. And yes, it's a machine, even more reasons why it should just take the berating and not throw a hissy fit.
I've been saying this since probably a year, that the entire Claude product: from the sign-up, the payment, the UX, the UI, the harness, the intelligence itself, the output, the "flavor" ..is just so _mid_ that all the hype posted on HN about Claude _must_ have been paid PR or a case of the emperor with no clothes.
Comment blocks are <= 7 words, function names <= 4 words. User-facing message strings should be <= 10 words. Use an active voice, no stage performances, and pick the most common word when choosing among alternatives.
Limiting the number of words is the strongest factor in cleaning up the output, IMO.
For older code I've instructed it to delete all the comments, and then I re-comment it using a new session and these guidelines, asking it to rejustify the need for every comment to itself.
Specifically, I like the "canary" trick that people have discussed where you add a small, innocuous rule to your CLAUDE.md like "When responding to me, start every sentence with my name." so that when Claude stops doing this, you know you've used way too much context and need to start a new session.
You know the problem; then why not address it? Does Compacting the context not help?
The moralizing is incredibly obnoxious as well. It didn't seem so bad at first, but it instantly became intolerable the second I remembered I was paying for those tokens.
I haven't had the same problems others have but I'm also not a heavy user of it.
I did not see an explanation though.
"Vomit: Clean up Claude 5's token output with a separate LLM" (github.com/zachahn)
285 points | 23 hours ago | 288 comments
I put it at the top of CLAUDE.md. I wonder if I put at a 8th grade level, it would be less of a cognitive load.
Let me ground my answer so I'm not just guessing. The blast radius of this change is significant and requires careful surgery to get right.
It's clear now and there's two options going forward: A. Use this tool OP suggested B. Rewrite the Internet from the ground up without this clear contradiction in place - 3-5 days
I recommend B and started 3 subagents to read all the code before I get started. I'll wait for them to finish.
https://github.com/backnotprop/bro/blob/main/skills/bro/SKIL...
I prefer this since everyone has their own preference for how the output should sound and it's very simple and transparent. And you can easily ask follow-ups.
It can be via tmux, or herdr, because it can read the pane.
Or it can use a hook to read the conversation file. I call it `backseat-driver`
I sometimes use it as a proxy when fable genuinely does a good job, but is too difficult to understand.
I let the translator know it's role and anything I say it should forward with better context.
I don't swear at it anymore, but I'd often say "just do it, retard", and the translator would actually steer it in a useful manner.
why do you choose gemini? imo this is a fundamental problem of all frontier ai models.
Haven't tried, because I have just been using 4.6 since 5 was released.
Claude will eventually ignore it just as any other style like "Technical".
Should be pretty difficult to ignore
I have grown tired of Codex/GPT's writing style, too, but it's not nearly as bad. It's terse and factual by default. Even better if you use the "simple english" skill.
I actually found that GLM 5.x is the best in terms of editing documentation. It's still best to write things by hand to give your own organic voice, though. And not insult your readers.
Also, Westworld? These violent delights have violent ends? Perhaps there's a tinge of Pascal's wager to it, but I prefer to be courteous to the rapidly improving synthetic intelligences.
I was just informing people that Anthropic gave Claude a tool that ends conversations and instructed it to use it via the system prompt if it's threatened or insulted.
I've been saying this since probably a year, that the entire Claude product: from the sign-up, the payment, the UX, the UI, the harness, the intelligence itself, the output, the "flavor" ..is just so _mid_ that all the hype posted on HN about Claude _must_ have been paid PR or a case of the emperor with no clothes.