Claude Opus 5 has been out for about a month now, and the internet has reached a rare consensus: it is the best model anyone has ever used, and everybody hates working with it.
After spending my hard-earned dollars on experiments, it seems most of the complaints have fixes, and almost none of the fixes involve writing more or better prompts. Opus 5 was trained to be given a complete task and left alone. Your prompts were written for models that needed a babysitter. Good news: the migration is mostly deletion, which is my favorite kind of work in this industry.
I went through the common complaints and matched them had Claude match them against what actually works, based on Anthropic’s Opus 5 prompting guide and their context engineering post.
Most of the content below is AI slop, but the good kind of AI slop, i.e. based on actual observations, and more importantly, blind tests.
“It writes a novel when I ask for a sentence”
The most common complaint by far. You ask a one-line question and get a preamble restating your prompt, three screens of answer, a section on adjacent topics you didn’t ask about, and a closing summary. Someone measured it across ten thousand messages and found it’s not even uniformly bloated — short answers got shorter than Opus 4.8, long answers got much longer. The model lost its sense of how much a question deserves.
The trap everyone falls into is reaching for the effort setting. Doesn’t work. Anthropic is explicit about this: effort controls how much the model thinks, not how much it says. You can dial effort to low and still get an essay.
Fix 1: prompt for length, explicitly. Length is a prompt job now. (Note from the human: this is probably the most counter-intuitive out of all of these, since it has always been an API param outside the prompt.) Put this in your profile instructions or CLAUDE.md:
Keep responses focused, brief, and concise. Keep disclaimers and caveats short, and
spend most of the response on the main answer. When asked to explain something, give a
high-level summary unless an in-depth explanation is specifically requested.
Or even better, give a specific output length budget to each task execution.
Fix 2: make your prompt look like the output you want. The formatting style of your prompt influences the response style. (Note from the human: holy shit.) If your prompt is a wall of markdown headers and bullets, guess what you get back. Write in plain prose, get plain prose. This also applies to the “fix”: say what you want (“flowing prose paragraphs”) instead of what you don’t (“no markdown”) — positive instructions stick better than prohibitions.
“I asked it to fix the sitemap and it redesigned my website”
Opus 5 writes itself a more ambitious brief than the one you gave it, then executes that. Anthropic’s docs confirm it “can expand the scope of a task, adding steps that weren’t requested.” In practice this means unrequested refactors, a FINDINGS.md you never asked for, and the occasional deleted backup. Higher effort reportedly makes it worse, because now it thinks harder about all the extra work it could be doing.
Fix 1: draw the scope boundary in the prompt. For narrow tasks, this snippet from Anthropic’s guide does a lot of heavy lifting:
Deliver what was asked, at the scope intended. If the request seems mistaken or a better
approach exists, say so in a sentence and continue with the task as asked rather than
quietly narrowing, widening, or transforming it. Finish the whole task, and stop short
of actions that are clearly beyond what was asked.
Fix 2: give it the complete spec up front. This model performs best when it gets the whole task specification and is left to run. Scope creep thrives in the gaps of an underspecified request — the model fills ambiguity with its own judgment about what the task “should” be. State the goal, the inputs, the constraints it can’t infer, and what “done” looks like. In Claude Code, plan mode before anything nontrivial. Review the plan, then let it loose. And commit to git first. Obviously.
“It narrates every single tool call like a golf commentator”
In agentic sessions Opus 5 announces what it’s about to do, describes the tool call you can literally see in your terminal, narrates its own mid-stream corrections, and wraps up with a summary paragraph. All documented behavior. All expensive.
Fix 1: describe the narration you want instead of banning narration.
Before your first tool call, say in one sentence what you're about to do. While working,
give a brief update only when you find something important or change direction. When you
finish, lead with the outcome — your first sentence should answer "what happened."
Fix 2: kill the correction theater separately. The model loves announcing that it made a small mistake and is now fixing it. Tell it: only correct an earlier statement when the error would change your code or conclusions; for slips that change nothing, fix it and move on without noting it.
“My token bill looks like a phone number”
Two compounding behaviors here. Opus 5 verifies its own work unprompted, and it delegates to subagents more readily than any prior model. Both are fine on their own. The problem is your prompt, which still says “double-check your work” and “use a subagent to verify” — instructions you wrote to push a lazier model. Those now stack on top of built-in behavior, and you pay for the verification pass twice.
Fix 1: delete the verification instructions. Not rewrite. Delete. Anthropic’s migration guidance is unusually blunt about this: removing them “reduces wasted tokens with no loss in quality.” Your CLAUDE.md, agent files, and skills are full of this stuff, written once and never reopened:
grep -rns -i "verify\|double-check\|re-check" ~/.claude/CLAUDE.md ./CLAUDE.md ./.claude/agents/ ./.claude/skills/
Fix 2: rein in the delegation. Tell it to delegate only for large, genuinely independent, parallelizable work — and never to verify its own output. If you want a hard ceiling instead of a polite request, recent Claude Code versions have CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS and CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH. A prompt is a suggestion; an environment variable is a law.
“My old prompts made it worse, not better”
This is the sneaky one. Opus 5 follows instructions much more literally than its predecessors, so every hedge you wrote to restrain an overeager older model — “be conservative”, “only report high-severity issues”, “keep it minimal”, “only if necessary” — is now taken at face value and genuinely suppresses work. Anthropic calls this out for code review specifically: tell it to be conservative and it will conservatively not report the bug. One practitioner described their CLAUDE.md as “64 opportunities to suppress work I wanted done.” I felt that.
Fix 1: ask for everything, filter afterwards. Put the filter after generation, not inside it. Have it report every issue it finds, then rank or triage in a second pass. On Opus 5 the restrictive qualifier belongs at the end of the pipeline, not in the generation instruction.
Fix 2: run the deletion test on your whole setup. For every line in your CLAUDE.md and project instructions, ask: would a strong model behave worse without this? If not, delete it. Anthropic removed over 80% of Claude Code’s own system prompt for this generation with no measurable regression, on the grounds that they were overconstraining the model. Anything the model can infer from the repo, anything duplicated across surfaces, any “CRITICAL: you MUST” tool-forcing, any anti-laziness pep talk — gone. Under 200 lines is the target. Longer files don’t just cost context, they cost adherence.
“Everything it writes sounds like a TED talk”
The prose tics. “Load-bearing.” “Worth stating plainly.” “It’s not X, it’s Y.” The punchy fragment. Not a detail. A design decision. Every response follows the same template — rephrase the prompt, three paragraphs, a twist, “the bottom line” — regardless of whether you asked about database indexes or your lunch menu. One team reported their token costs doubling because they route Opus 5 output through a cheaper model just to make the docs sound sane.
Fix 1: give it a voice, with examples. The formula shows up when you give no style guidance at all. Prohibition lists (“never say load-bearing”) work worse than a positive spec: describe the voice you want and paste in two or three paragraphs of your own writing as the reference. Rich references beat descriptions — this is the same principle as attaching a mockup instead of describing a design.
Fix 2: separate drafting from styling. If it’s for publication, let Opus 5 do the thinking and structure, then run a dedicated style pass — cheaper model, your writing samples, one job. Fighting the house style mid-generation is a losing battle; overwriting it afterwards is a sed command with extra steps, and it works.
None of This Is an Accident
Here’s where it stops being a list of quirks and starts being a strategy. While everyone was arguing about verbosity, Anthropic shipped three changes in the same four-week window. Opus 5 launched trained to take a complete spec and run without supervision. The same day, they published that they’d removed over 80% of Claude Code’s system prompt — the prescriptive rules, the worked examples, the babysitting — because “the model is actually a little bit more intelligent without these prompts,” per the Claude Code lead. Three weeks later, on August 14, auto mode became the default permission mode in Claude Code for Pro, Max, and Team. A classifier model now reviews tool calls instead of you.
And this isn’t a vague vibe shift — it’s literal prompt text. People extract and diff Claude Code’s system prompts from every release, and auto mode injects lines like “Bias toward working without stopping for clarifying questions — when you’d normally pause to check, make the reasonable call and keep going” and “The user chose continuous, autonomous execution… Prefer making reasonable assumptions over asking questions.” That text has been in the binary since early summer, but until August 14 you had to opt in to receive it. Now it’s the default. So the model that Reddit complains never asks before acting is being explicitly told not to ask, by the default configuration, on purpose. The complaints and the roadmap are the same document read in different moods.
Anthropic isn’t even subtle about the reasoning. Their pitch for auto mode is that you should be able to “kick off a large task and walk away.” Their data says 97% of permission prompts got approved anyway, and in their own study humans caught dangerous commands 13.6% of the time versus 89% for the classifier — with the human catch rate dropping to 5% after fifty prompts of clicking yes. The approval prompt, in their telling, had become ritual, not control. Hard to argue. I have personally approved things I did not read, and so have you.
So the guardrails didn’t disappear; they moved. Out of the prompt, out of your reflexes, into a runtime layer you don’t see — the classifier, checkpoints, /rewind. Whether you find that reassuring depends on how you feel about the classifier’s admitted 17% false-negative rate on overeager actions, and on the fact that all the safety numbers are Anthropic’s own homework, ungraded by anyone else.
The tl;dr
Read the fixes again and notice what they have in common: almost every one is subtraction. Delete the verification nagging, delete the hedges, delete the tool-forcing, delete everything the model can figure out on its own. Then spend the saved lines on the things that actually matter now — the complete spec, the scope boundary, the length calibration, the definition of done.
We spent three years learning to write prompts that compensate for weak models, and the compensation became the problem. Opus 5 doesn’t need a babysitter. It needs a brief — and Anthropic has now removed the babysitter from their side too, so if you don’t write the brief, nobody is holding the leash. Write the brief, delete the babysitting, decide on purpose how much rope to hand over, and it’s the best coworker you’ve ever had.
One More Note from the Human
Everything that was said above is basically band-aid. It’s a short-term workaround to recreate the experience we’re used to, but it’s still just band-aid. Eventually the gap between your comfy ye olde model behavior and the “official” way becomes so large, it won’t work.
Use it to buy you some time to audit your setup, then go with the flow. Or whatever.