Anthropic's official Opus 5 prompting guide is mostly about what to delete
- Anthropic published a page devoted to one question: which lines of your existing prompts need to change once you move to Opus 5. The strangest part is that three of its eight sections are about taking things out
- Top of the delete list: "add a verification step at the end" and "use a subagent to double-check." Opus 5 already verifies itself, so these carryovers from the previous generation just make it verify twice — more tokens, same quality
- Code review prompts need the opposite instinct. Write "report only high-severity issues" or "be conservative" and it may take you literally. The fix is to let it report everything and filter in a separate pass
- It talks more than its predecessor, narrates more, and delegates to subagents more eagerly. The doc supplies eight copy-paste prompts, one per symptom
- Thinking is now on by default. You can only disable it at
higheffort or below (lowthroughmaxare the five effort levels; full table in section 8) — pair disabled thinking withxhighormaxand the API returns a 400
A document that tells you to delete things
If your system prompt contains a line like "after completing the task, add a verification step," it started costing you money the moment you switched to Claude Opus 5.
Anthropic wrote a standalone prompting page for Opus 5 — eight sections, a bit over 1,500 words. Three of those sections are about removing things from your prompt.
Use a subagent to double-check the result.
Re-check your answer before responding.
Delegate only work that's genuinely large and parallelizable.
Deliver what was asked; don't expand the scope yourself.
The reversal isn't hard to follow. For years the default move in prompt engineering was addition: the model wouldn't check itself, so you wrote a line forcing it to; it delivered half-finished work, so you wrote a line forcing it to finish; it wouldn't verify, so you hung a subagent off the end to review. Every one of those lines patched a weakness.
Opus 5 closed a batch of them. It verifies on its own, finishes the whole task instead of handing back a stub (no placeholder functions with a name and nothing inside), and goes back to fix its own mistakes when it spots them. Those forcing lines now force behavior it would produce anyway.
These instructions cause Claude Opus 5 to over-verify. Removing them reduces wasted tokens with no loss in quality.Prompting Claude Opus 5 · Anthropic
Worth separating this page from the Opus 5 launch announcement — they're different documents. The announcement covers how capable the model is, what it costs, and whether it's worth switching. This page covers exactly one thing: once you've switched, which lines in the prompts you inherited from the Opus 4.7 and 4.8 era need editing.
Start by cutting every line that tells it to check its own work
This is the first thing to do in the whole document. The lines you're hunting for come in two flavors, and both will look familiar.
The first is task-level verification: "include a final verification step for any non-trivial task," "use a subagent to verify." The second is response-level self-checking: "double-check your answer," "confirm before you respond." Same treatment for both — delete.
The cleanup goes beyond your prompt text. The doc calls this out specifically: if the harness you built for older models contains a separate verification stage, tear that out too. The prompt is what you say to the model; the harness is the code wrapped around it that decides when to call the model, how many times, and with what. Both layers need clearing.
The page is written entirely from an API perspective — system prompts and outer harnesses. If you're using Opus 5 inside Claude Code, the equivalent surfaces are CLAUDE.md and your own skill files. The lines to look for read like this: "after editing code, have a subagent review it," "verify each step before moving on," "reconfirm all changes before delivering." All three should go. The doc doesn't spell out this layer; it's our extrapolation, same model and same system prompt.
Ask a review prompt for "only the serious ones" and you'll get fewer
This is the least intuitive item in the guide, and the easiest one to trip over inside your own automation.
Start with what's working: Opus 5 reviews code with high precision and high recall. A large share of what it flags in any given pass is a real bug, and most of the extra findings are genuine too, not noise padding the list. More usefully, that precision holds up at lower effort settings — so you can do a cheap fast sweep first, then a deeper pass.
The trouble starts with where you put the filter. If your prompt says "report only high-severity issues" or "be conservative," Opus 5 may follow that literally and report less. The doc's fix is to move filtering out of the prompt entirely: let it report everything, then run a separate pass to filter.
Reduced to its core, the difference between the two is who decides what counts as serious. Put it in the prompt and that judgment happens inside the model, out of your view. Run it as a separate pass and the judgment stays with you.
It got wordier in three separate places, and each needs its own fix
Opus 5's user-facing responses run longer than the previous Opus. The instinct is to dial down effort and save some words, but that path doesn't work — first you need to understand what the effort parameter actually controls.
effort governs how many tokens the model is willing to spend thinking, not how much it ends up saying. Turn it down and thinking shrinks, but visible response length doesn't necessarily follow. If you want shorter answers, you have to ask for them explicitly.
One: the user-facing response
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.
If your system prompt is long, there's a companion move: append a short reminder at the end of it, paired with the block above.
<tone_preference> Keep outputs reasonably concise. </tone_preference>
Two: files written to disk
This is a separate problem from chat verbosity and needs its own fix. Reports, Markdown docs, and summary files that Opus 5 writes also run longer than before. If your product has it generate documents for users, give it an explicit length calibration.
Match the length of written documents to what the task needs: cover the substance, but do not pad with filler sections, redundant summaries, or boilerplate.
Three: narration while it works
In agentic settings — where you turn it loose to run on its own — Opus 5 likes to talk: it announces what it's about to do before acting, and each message runs longer than before. To bring that down, don't order it to be quiet. Describe the rhythm and shape you want.
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" or "what did you find," with supporting detail after it for readers who want it.
Want it to narrate more, or in a different style? Same lever, opposite direction. There's a general craft lesson hiding here too: showing a positive example of the communication style you want beats listing a pile of don'ts.
It spawns subagents more eagerly, including for small jobs
A subagent is a chunk of work the main model hands off to a freshly spawned instance, which finishes it independently and hands the result back. Each instance reads its own copy of the context and generates its own output, burning its own tokens.
Opus 5 delegates more readily than its predecessor. On genuinely independent, substantial tasks — a wide investigation spanning many files, say — that pays off. On small tasks, cost and time multiply.
One generation cost
Done and delivered
Three generation costs
Finish time set by the slowest
Delegate to a subagent only for large tasks that are genuinely independent and parallelizable, such as a wide multi-file investigation. Do not delegate work you can finish yourself in a handful of tool calls, and do not use subagents to verify or double-check your own work. If one subagent can complete the task, use one rather than several, and keep spawn counts low.
One line in that block links back to section 2: do not use subagents to verify your own work. The same habit gets blocked twice — once at the verification behavior itself, once at the delegation habit that carries it.
There's a harder version too: if your harness supports it, hard-code the maximum number of subagents. The prompt persuades; a cap in the harness enforces. For cost-sensitive setups, do both.
It will expand the job on its own
Beyond over-verifying, Opus 5 also broadens task scope by itself: adding steps nobody asked for, or applying its own judgment to redefine what the task should be. For narrow, well-defined tasks, you need to nail the boundary down.
The block the doc supplies here is the longest and most carefully constructed of the eight. It defends against four different kinds of drift at once — worth unpacking sentence by sentence:
The phrasing here sits very close to several passages in Claude Code's default system prompt — that's our observation, not something the doc addresses. If you've written similar boundary constraints into your own project, you can diff them against this and fill in what's missing.
Thinking is on by default, and turning it off invites two failure modes
There's one real mechanical change between Opus 5 and the previous generation. On Opus 4.8, omitting the thinking field meant no thinking. On Opus 5, that same request runs with thinking on. To get the old behavior, you have to add thinking: {"type": "disabled"} yourself.
And that switch is conditional: disabling thinking is only allowed when effort is high or below. Pair it with xhigh or max and you get a 400 back, validated per request. (The error code and the per-request validation come from Anthropic's migration guide; the effort ceiling itself is stated in the prompting page.)
Once thinking is actually off, two problems surface occasionally. The first is the expensive one, because it's silent.
This shows up most often in tool-heavy work — search tasks, for example. The second failure mode is easier to spot: the model leaks internal tags like <thinking> into the response users can see.
That second one comes with a counterintuitive trap. If your system prompt contains a rule telling the model "do not think" or "do not reason," delete it — that kind of instruction makes the tag leakage worse. By the same logic, naming the thinking tag specifically works less well than a generic phrasing, which is why the mitigation block below doesn't mention a single tag name.
For both failure modes, the first recommendation isn't a mitigation at all. Leave thinking on and use a lower effort level to control cost. In Anthropic's words: on most tasks, running low effort with thinking enabled outperforms disabling thinking at roughly the same price.
When you use a tool, you may say a brief sentence first. If no tool can express what the user asked for, say so instead of guessing. Do not include internal or system XML tags in your response.
Each sentence targets one cause. The first grants permission to speak before calling a tool, so the model doesn't have to cram its prose into the call. The second offers an escape route when no tool fits, so it doesn't force one. The third is a general tag ban that names no specific tag.
Picking among five effort levels, and the combination that returns a 400
The prompting guide itself covers effort in a single paragraph; the full table lives in Anthropic's Effort documentation. The material in this section comes mainly from that page and the migration guide, not from the prompting guide.
| Level | What it is | Typical use |
|---|---|---|
| max | Peak capability, no constraint on token spend | Tasks needing the deepest reasoning and most thorough analysis. Thinking cannot be disabled here |
| xhigh | Capability extended for long-horizon work | Coding and agentic runs over 30 minutes with token budgets in the millions. Thinking cannot be disabled here |
| high | High capability; equivalent to omitting the parameter (the default) | Complex reasoning, hard coding problems, agentic tasks |
| medium | Balanced, with moderate token savings | Agentic tasks that need a balance of speed, cost, and quality |
| low | Leanest; substantial token savings with some capability drop | Simple tasks where speed and cost matter most — subagents, for instance |
The recommendation for Opus 5: start at the default high, then move in either direction based on your own evals. Push hard coding and agentic work up to xhigh, and reserve max for tasks worth spending anything on. Use low and medium freely — as long as your evals show quality holding, treat them as your first lever for controlling token cost and latency.
That starting point differs from the previous generation, which is worth calling out. Anthropic's official advice for Opus 4.8 was to start coding and agentic work at xhigh; for Opus 5 it's "start at high." The same capability rundown adds another line: low and medium now deliver strong quality at a fraction of the tokens and latency of the higher levels.
xhigh or max, validated per requestmax_tokens for xhigh or max — it caps thinking and response combinedPrompt caching stores the unchanging opening of your prompt so that sending it again costs neither compute nor wait time. Dropping the threshold from 1024 to 512 means prompts that were previously too short to cache now qualify.
Three follow-up moves, all of which come up in any automated pipeline. First, when migrating from an older model, don't copy your old effort settings across — assemble a set of the real tasks you run most and compare old settings against new. Second, tasks that ran without thinking on Opus 4.8 will now run with it, and since max_tokens caps thinking plus response together, that value needs another look. Third, changing effort invalidates the prompt cache: in a long cache-dependent session, pick a level at the start and stay there — switch between tasks, not mid-task.
The one-pager: what to cut from your old prompts, and what to add
Everything above, compressed into a list you can act on. The three deletions come first because they cost nothing and pay off immediately.
One more block, not covered above
Opus 5 catches and fixes its own earlier mistakes, which is good — but it's also more inclined than its predecessor to announce "I was wrong a moment ago" in front of the user. For user-facing products, this block trims correction narration down to the cases that actually matter.
Only correct an earlier statement when the error would change the user's code, conclusions, or decisions. State corrections plainly and briefly, then continue the task. For slips that change nothing for the user, make the fix and move on without noting it.
What the doc doesn't give you
"Longer responses," "more narration," "more eager to delegate" — all qualitative, not a single percentage. How much longer, how much more? Readers have no way to know; you have to run your own comparison. Same with "deleting verification instructions saves tokens without hurting quality" — a conclusion, offered without supporting data. And "thinking on at low effort beats thinking off" is likewise a judgment, not a measured number.
What is solid is the eight prompt blocks themselves. They're copy-paste material, and whether they help is one before-and-after run on your own regular workload away.
Anthropic's official guide: moving to Opus 5 starts with deleting "verify at the end"
Anthropic gave its new model a dedicated prompting page about which lines of your existing prompts to change. Here it is, in one illustrated page.
↓ One page · one animated diagram
Anthropic wrote a standalone prompting page for Claude Opus 5, covering which lines of your existing prompts need to change on this model. Three of its eight sections are about removing sentences from your prompt.
Use a subagent to double-check
Re-check your answer before responding
Delegate only genuinely parallelizable work
Deliver what was asked, don't expand it
For years the default move in prompt engineering was addition: the model wouldn't check itself, so you wrote a line forcing it to. Opus 5 folds that batch of weaknesses into its defaults, so those lines now force behavior it would produce anyway.
Two flavors, both familiar: task-level ("add a verification step at the end," "use a subagent to review") and response-level ("double-check your answer").
The cleanup goes beyond the prompt. If the harness you built for older models — the code wrapped around the model that decides when and how often to call it — has a standalone verification stage hanging off it, tear that out too.
Opus 5 reviews code with high precision and recall, and holds that precision at lower effort — good for a fast sweep followed by a deeper pass. What breaks is where you put the filter.
✘ Prompt says "be conservative"
✔ Filter in a separate pass, threshold in your hands
Opus 5 talks more than its predecessor and delegates more eagerly. The first instinct is to lower effort — the dial that controls how many tokens it spends thinking. That path doesn't work.
- User-facing response — ask for brevity; for long system prompts, append a short reminder at the end
- Documents on disk — report and file length is its own layer, calibrated separately
- Progress narration — describe the rhythm you want; positive examples beat a pile of prohibitions
- Subagents (a chunk of work handed to a fresh instance that burns its own tokens) — delegate only genuinely parallelizable work; three agents on a small job multiply both the bill and the wait
- Task scope — let it object in a sentence, then require it to finish as specified: no quiet narrowing, widening, or transforming
Counting "less announcing of its own corrections" and the disabled-thinking mitigation, the doc supplies eight English prompt blocks you can paste straight into a system prompt; the full article walks through each one.
On Opus 4.8, omitting the thinking field meant no thinking. On Opus 5, the same request runs with thinking on. Disabling it takes an explicit line, and only works when effort is high or below.
Those three figures come from Anthropic's Effort documentation and migration guide, not from the prompting page. As for "longer responses" and "more eager to delegate," Anthropic gives no percentages — you'll have to run your own comparison.
written for the last model
- Verify at the end
- Subagent double-checks
- Re-check before answering
→ your pass
→ delivered
→ its own pass
→ your pass
→ delivered
Ship 1×
The output is identical
It judged severity.
What got swallowed,
XiaoHu never saw.
is out of reach.
Want it shorter?
Ask outright.
can copy verbatim
the user-facing response
documents on disk
narration while working
Delete the whole line.
Then tear out the harness's
standalone verify stage.
"Delegates more."
Descriptions, both.
Members can copy or download the full Markdown, and let their AI subscribe and ask.
Found this useful? Leave your email — every new explainer, the moment it's out. Unsubscribe anytime.
