Prompting Claude Opus 5: Trim the Verbosity, Delete the Verification
Claude Opus 5 needs opposite prompting from its predecessors: you prompt for conciseness because effort no longer controls visible length, and you delete verification and double-check instructions because the model already does both. Constrain scope on narrow tasks, cap subagent spawning for cost, and keep thinking enabled at low effort rather than disabling it.
Claude Opus 5 punishes prompt cruft. The instructions most teams carried over from earlier models, such as "double-check your answer," "include a final verification step," and "be thorough," now cause over-verification, longer outputs, and wasted tokens on a model that already checks its own work. This guide distills Anthropic's official Opus 5 prompting guide into what to add, and more importantly what to remove.
This is the model-specific layer. For techniques that apply across every current model, see our general prompt engineering playbook; for the other frontier models, see prompting Claude Fable 5 and prompting GPT-5.6.
Key Takeaways
- Prompt for conciseness explicitly. Opus 5's default responses run longer than prior Opus models, and effort controls thinking depth, not visible length.
- Delete verification instructions. The model verifies and self-corrects unprompted; explicit re-check instructions compound with that behavior and add cost with no quality gain.
- Constrain scope on narrow tasks. Opus 5 can expand tasks with unrequested steps; tell it to deliver what was asked at the scope intended.
- Cap subagent spawning. It delegates more readily than prior models, which multiplies cost on small tasks. In Claude Code and the Agent SDK, two environment variables and the SDK budget option set hard caps (Claude Code 2.1.217 or later).
- Use low and medium effort liberally. Anthropic says they produce strong quality at a fraction of the tokens and latency; save
xhighfor demanding coding and agentic work andmaxfor tasks that justify unconstrained token spending. - Keep thinking enabled. Thinking at
loweffort usually beats thinking disabled at similar cost, and disabling it can leak tool calls as text or internal XML tags into output. - Ask reviews to report everything. Opus 5 follows "only report high-severity issues" literally and finds less; filter severity in a separate pass instead.
Verbosity: The Lever Moved
The single biggest migration surprise: on Opus 5, the effort parameter controls how much the model thinks rather than how much it says, so lowering effort does not reliably shorten visible responses. Length is now a prompting problem. A short instruction ("keep responses focused, brief, and concise; spend the response on the main answer, not disclaimers") is effective, and in long system prompts Anthropic recommends pairing it with a one-line reminder near the end of the prompt.
The same explicit control applies to two adjacent behaviors. Opus 5 narrates agentic work readily, announcing what it is about to do; describe the cadence you want (one sentence before the first tool call, brief updates only at important findings, outcome-first summaries) to tune it down, or provide positive examples to tune it up. And files it writes to disk run longer than prior models' output, so if your product ships Claude-authored documents, add length calibration: cover the substance, no filler sections or boilerplate.
Delete Verification and Double-Check Instructions
Opus 5 verifies its own work and catches its own mistakes without being told. Anthropic's guidance is unambiguous: if your prompt contains explicit verification instructions or legacy harness scaffolding that adds separate verification steps, remove them, because they cause over-verification and waste tokens with no loss in quality when removed. The same goes for "double-check your answer" and "re-verify before responding."
One related behavior needs the opposite treatment. The model narrates corrections to its earlier statements more than prior models do. If that reads poorly in your product, scope it: only correct an earlier statement when the error would change the user's code or decisions, fix silent slips without noting them.
Scope, Subagents, and Review Prompts
Three behaviors are worth explicit guardrails:
| Behavior | What to prompt |
|---|---|
| Scope expansion | "Deliver what was asked, at the scope intended"; have it flag better approaches in a sentence rather than silently widening the task |
| Eager delegation | Delegate only genuinely independent, sizeable tracks; no subagents for work finishable in a few tool calls, and none for double-checking its own work |
| Literal review filters | "Only report high-severity issues" produces fewer findings; ask it to report everything and filter severity in a separate pass |
The review point matters because code review is one of Opus 5's standout capabilities: Anthropic says it finds real bugs at a high rate per pass with mostly-real additional findings, and accuracy holds at lower effort. That supports a cheap fast pass at review time and a thorough pass later, but only if your prompt does not tell it to be conservative.
Deterministic caps in Claude Code and the Agent SDK
A prompt instruction is a request; a cap is a guarantee. As of September 2026, Anthropic's guide points Claude Code and Agent SDK users at three hard limits, all of which require Claude Code 2.1.217 or later, so update a pinned SDK before pointing it at Opus 5:
| Cap | Setting | Default |
|---|---|---|
| Nesting depth | CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH | 3 layers below the main conversation; set 1 to turn nesting off (in 2.1.217 and 2.1.218 the default was 1) |
| Concurrency | CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS | 20 running at once; the Agent tool then fails with "Concurrent subagent limit reached" |
| Spend | max_budget_usd (Python) or maxBudgetUsd (TypeScript) in the SDK | No limit; compared against total_cost_usd, so subagent requests count |
Both variables accept a positive whole number in plain digits and ignore anything else, so they can adjust a cap but cannot remove it. One preset detail matters: Claude Code adds its own delegation instruction on Opus 5 only when you use the claude_code system prompt preset. With a custom or omitted system prompt, add a delegation instruction yourself, along the lines of the table above. For the subagent definitions the caps apply to, see our Claude Code subagent patterns.
Effort and Thinking Settings
Start at the default (high) and adjust from your own evals. Anthropic's recommendation is to use low and medium liberally as the primary control for token cost and response time wherever quality holds, to step up to xhigh for demanding coding and agentic work, and to reserve max for tasks that justify unconstrained token spending. If you carried effort defaults over from a prior model, re-run an effort sweep; the floor moved. At xhigh or max, set a large max_tokens so the model has room to think and act; Anthropic suggests starting at 64k and tuning from there.
Thinking is on by default and can be disabled only at effort high or below; a request that combines thinking: {"type": "disabled"} with xhigh or max returns a 400 error, and the check runs on every request, not once per conversation. Prefer keeping it on: for most tasks, thinking enabled at low effort performs better than thinking disabled at similar cost. With thinking disabled, two artifacts occasionally appear: tool calls written as plain text that never execute (and then pollute the conversation history in agentic loops), and internal XML tags leaking into visible output. If you must run with thinking off, Anthropic's mitigation is a single combined instruction giving the model permission to speak briefly before tool calls, an out when no tool fits, and a general rule against internal tags. Avoid naming thinking tags specifically; the general form works better, and remove any "do not think" rules, which increase tag leakage.
Sources
Every claim above was re-checked against these pages on September 13, 2026.
- Anthropic, "Prompting Claude Opus 5": https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5
- Anthropic, "Prompting best practices": https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices
- Anthropic, "Effort" (recommended levels for Claude Opus 5, the
maxlevel, the 400 rule): https://platform.claude.com/docs/en/build-with-claude/effort - Anthropic, "Migrating to Claude Opus 5" (thinking on by default, disabling capped at
high): https://platform.claude.com/docs/en/models/opus-5/migration-guide - Anthropic, Claude Code environment variables (
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH,CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS): https://code.claude.com/docs/en/env-vars - Anthropic, Agent SDK subagents, "Cap subagent depth, concurrency, and spend": https://code.claude.com/docs/en/agent-sdk/subagents
Read next
Keep building the workspace playbookPrompting Claude Fable 5: What to Change and What to Delete
Prompt Claude Fable 5 with less, not more: brief instructions now beat enumerated rule lists, and old skills written for prior models can degrade output. Use effort as your main cost control, expect longer turns, ground progress claims in tool results, and configure fallback to Opus 4.8 for safeguard refusals.
Prompting GPT-5.6: Message Roles, Effort, and Agentic Prompts That Work
GPT-5.6 rewards precise, explicit prompts: structure developer messages as identity, instructions, examples, then context, keep stable content first for prompt caching, and pick reasoning effort deliberately (xhigh for complex multi-step work). Move saved prompt objects into code before OpenAI shuts down v1/prompts on November 30, 2026.
Prompt Engineering in 2026: The Playbook That Works Across Claude and GPT
Prompt engineering in 2026 has two layers: cross-model fundamentals (clear direct instructions, motivated rules, 3-5 structured examples, XML boundaries, long documents before the question) and model-specific overrides that matter more than ever, because the newest models need instructions deleted as often as added. Start here, then apply the guide for your model.
Claude Opus 4.7 Best Practices: How to Actually Get the Most Out of the Upgrade
Claude Opus 4.7 follows instructions more literally than 4.6, runs longer agentic tasks more reliably, and ships a new xhigh effort level. Anthropic's launch-day guidance is to specify the task up front, batch your interactions, use auto mode, and default to xhigh; this guide adds the verification, recap, and scoping habits that make those gains show up in your sessions.
Frequently Asked Questions
How do I make Claude Opus 5 less verbose?
Prompt for it explicitly. The effort parameter controls how much the model thinks, not how much it says, so lowering effort does not reliably shorten visible responses. A short conciseness instruction works, paired with a brief reminder near the end of a long system prompt.
Should I tell Claude Opus 5 to verify its work?
No. Anthropic says Opus 5 verifies its own work without being told, and explicit verification instructions cause over-verification, wasting tokens with no quality gain. Remove instructions like 'double-check your answer' and legacy harness steps that add separate verification passes.
What effort level should I use with Claude Opus 5?
Start at the default, high, then adjust on your own evals. Anthropic says low and medium produce strong quality at a fraction of the tokens and latency, so use them liberally as the primary cost control. Step up to xhigh for demanding coding and agentic work, and to max only when a task justifies unconstrained token spending.
Can I disable thinking on Claude Opus 5?
Only at effort high or below; a request that disables thinking at xhigh or max returns a 400 error. Anthropic recommends against it: thinking enabled at low effort usually beats thinking disabled at similar cost. With thinking off, the model can occasionally write tool calls as plain text or leak internal XML tags into visible output.
How do I cap subagent spawning in Claude Code or the Agent SDK?
As of September 2026, two environment variables set hard caps: CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH (default 3 layers; set 1 to turn nesting off) and CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS (default 20 running at once). The Agent SDK adds a spend cap, max_budget_usd. All three require Claude Code 2.1.217 or later, so update a pinned SDK first.