How to prompt Claude Opus 5.5
To prompt Claude Opus 5.5 well, keep the XML-tagged structure that worked for Opus 5, start at medium effort instead of carrying over your old setting, and spell out when an agentic task is actually finished. Most of the useful edits when moving from Opus 5 are deletions: lines that tell the model to think harder, re-check its work or narrate its reasoning.
What changed from Opus 5
Anthropic describes Opus 5.5 as faster (more than 30% quicker output) and more economical than Opus 5 on the same work. Your Opus 5 prompts keep working, so treat this as tuning, not a rewrite.
- Thinking is always on. You can’t disable it. The model decides how much to think, and effort is how you steer that.
- The default effort dropped to
medium. Opus 5 defaulted tohigh. Atmedium, Opus 5.5 matched or beat Opus 5 athighon agentic coding in Anthropic’s testing, with fewer steps. - It thinks more per level. The same effort setting buys more thinking than it did on Opus 5, especially at
xhighandmax. - Fewer wrong figures and citations. Knowledge work, financial modelling and long documents need less correction.
- Plainer progress updates. Between tool calls it says what it found and what it’s doing next.
The prompt structure: XML tags
Claude parses tagged sections cleanly, which matters most when instructions, background and pasted material sit in one prompt. Use the tags you need and skip the rest.
<context>
Our billing service sends invoices from a nightly job. Since Monday,
customers in Australia receive them a day late.
</context>
<task>
Find why the AU invoices are late and fix it.
</task>
<constraints>
Do not change the job schedule for other regions. No new dependencies.
</constraints>
<output_format>
A short diagnosis (three sentences max), then the diff.
</output_format>
<success_criteria>
- AU invoices are generated on the customer's local billing date.
- Existing scheduler tests still pass.
</success_criteria>
A one-line request needs only <task>. Save <success_criteria> for work where “done” could be read more than one way.
Effort: start at medium and measure
Effort is the first dial to touch, before you edit any wording.
- Set it explicitly. Start at
mediumand compare a few levels on your own tasks rather than copying the Opus 5 value. Carrying overhighorxhighcan spend thinking the task doesn’t need. - Lower effort to get less thinking. That works more reliably than prompt lines such as “don’t overthink this”.
- Budget
max_tokensfor both. Thinking counts toward the limit even when you don’t see it. - Keep
xhighandmaxfor measured wins, such as long refactors where a higher level demonstrably fixes more.
Delete “think carefully” lines
In chat-style system prompts, instructions like “think step by step before answering” or “reason carefully” are redundant now that thinking is always on. Remove them.
The same goes for asking the model to write its reasoning out in the reply. Opus 5.5 runs a safeguard against extracting its internal reasoning, so those instructions can trigger a refusal. Read the summarised thinking blocks instead.
If you want earlier answers treated as settled in a long chat, say so once: answered questions stay answered unless the user reopens them.
Name the finish line for agents
On long unattended runs, Opus 5.5 sometimes ends a turn with a progress report instead of the next tool call. Treat a text-only turn as a status update, not proof the job is done.
- Keep the task as a checklist the model updates.
- In the system prompt, name the early stops you don’t want: announcing the next step instead of taking it, offering to continue, stopping at a milestone.
- Name the stops you do want: when nothing can move without a human decision.
- If a turn ends with open items and no blocker, nudge it with the remaining items. Cap that at two or three nudges per task.
Keep your own confirmation step for anything risky or irreversible.
Mark pasted text
Opus 5.5 resists instructions hidden in text a user pasted, provided you mark which text was pasted. Wrap each block in a tag with a short random id on both ends:
Summarise the main complaints in this thread.
<pasted_content id="k7f2">
...the pasted email thread...
</pasted_content id="k7f2">
Then tell the model in the system prompt that text inside those tags came from elsewhere and that it should follow instructions there only when the user’s own message asks for it.
Ask it to look around first
In workflows that span several apps or data sources, Opus 5.5 tends to start working quickly. If the answer often lives in a file or record the request doesn’t mention, add one line asking it to explore the available sources broadly before acting.
Be specific about design defaults
Asked for a web page with no design direction, it falls back on a few house styles, and “avoid a generic AI look” just swaps one default for another. Name the patterns you don’t want (for example: no cream backgrounds, no numbered section labels, no pill buttons) and extend the list as you spot new ones.
Moving prompts from Opus 5
- Set effort explicitly and run a short sweep, starting at
medium. - Delete “think carefully”, “re-check your answer” and “show your reasoning” lines.
- Add a definition of done and the early stops to avoid for agentic runs.
- Tag pasted content so injected instructions are easy to ignore.
- Re-test any scaffolding you built for charts and screenshots; it may no longer be needed.
For the earlier model’s conventions, see How to prompt Claude Opus 5.