Open a system prompt you wrote 12 months ago and you will find yourself shouting. “CRITICAL: You MUST use this tool.” “NEVER skip this step.” That language earned its place back when models under-triggered, when a tool sat unused unless you leaned on it. The newest Claude models flipped the problem. They respond hard to system prompts, so the same shouting now overtriggers: the model grabs the tool when a plain answer would do, or drops everything to obey a rule that was meant as a nudge. The fix runs against instinct. You turn the volume down.
01Stop shouting
Anthropic’s prompting best practices put it plainly: Opus 4.5 and 4.6 are more responsive to system prompts, so aggressive push-to-act language like “CRITICAL: You MUST use this tool” should soften to “Use this tool when…”. The rewrite takes 30 seconds and the difference is large. The first phrasing is a command with no condition, so the model applies it everywhere. The second names the trigger, so the model applies it where it belongs.
“You are steering a model that already listens, so you turn the volume down, not up.”
The same instinct shows up as over-prompting elsewhere. Blanket tool defaults (“if in doubt, use
[tool]”) push a model that already explores plenty into more of it. Replace them with conditional
guidance, cut the “if in doubt” hedges, and if a model still explores too hard at high effort,
lower the effort parameter as a fallback. That same effort parameter also controls how hard the model thinks,
which Guardrails for hours-long agent runs
leans on to keep long runs sharp. These models also follow instructions literally. “Can
you suggest some changes” gets you suggestions, not edits. If you want action by default, say so
as a command or install a <default_to_action> block. One clear autonomy statement beats
repeating “ask first,” a shared conclusion Claude and OpenAI, one prompting playbook works through.
02The thinking settings changed
Two mechanisms you may still be reaching for are gone or going.
Manual extended thinking with a budget_tokens cap is deprecated on Opus 4.6 and Sonnet 4.6, and
it returns a 400 error on Opus 4.7 and later, on Fable 5, and on Mythos 5. The replacement is
adaptive thinking (thinking: {type: "adaptive"}), where depth is calibrated by the effort
parameter plus the query’s own complexity rather than a number you pick. On Fable 5 and Mythos 5
thinking is always on and adaptive is the only mode. On Opus 4.6 through 4.8 and Sonnet 4.6,
omitting the thinking parameter leaves thinking off. Anthropic’s internal evaluations show
adaptive thinking reliably outperforms the old budgeted extended thinking, so this is an upgrade
you were going to want anyway. The current lineup, and every 400 error it throws on migration,
is catalogued in The new Claude lineup and what it breaks.
Assistant prefill is going away too. Starting with 4.6 models, a prefilled assistant response on the last turn returns a 400 error. Prefill did real work: constraining format, stripping preamble, resuming an interrupted response. Each job has a new home. For format constraints, use Structured Outputs. To stop preamble, put a “no preamble” instruction in the system prompt. To resume an interrupted response, continue it from the user message. To restore earlier context, use tools or a summary of the conversation so far. One old lever, four cleaner ones, and migrating a typical prompt takes about 20 minutes end to end.
03The behavior controls
A model that listens well will also do more than you asked for if you let it. The best-practices doc names five standing blocks that keep a responsive model in bounds. Install them in the system prompt, not as per-task reminders, because you are correcting a default once.
| Lever | What it prevents |
|---|---|
<use_parallel_tool_calls> | Serial tool calls; pushes independent ones toward 100 percent parallel |
| Subagent scope | Reflexive subagent spawns where a grep would do |
| Minimalism | Extra files, unrequested abstractions, defensive bloat |
| Reversibility | Destructive or externally visible actions without confirmation |
<investigate_before_answering> | Speculation about code the model never opened |
A <use_parallel_tool_calls> prompt pushes independent tool calls (speculative searches,
multi-file reads, parallel bash) toward roughly 100 percent parallel execution. A subagent-scope
instruction restricts proactive subagents to parallel, independent tasks that each run in their own context,
because Opus 4.6 has a strong tendency to spawn them where a direct grep would suffice.
When a subagent genuinely earns its place, the orchestrator-worker split in Rent the model, own the method shows how to structure it. A
minimalism prompt covering scope, documentation, defensive coding, and abstractions curbs the
overengineering these models drift into (extra files, unrequested abstractions). A reversibility
prompt lists the destructive, hard-to-reverse, and externally-visible operations (deleting files,
force-pushing, posting externally) and tells the model to confirm before them and skip shortcuts
like --no-verify. And an <investigate_before_answering> block (never speculate about unopened
code, always read referenced files first) cuts codebase hallucinations at the root.
None of these is a shout. Each one hands a responsive model a clear condition and trusts it to follow.
“The model hears you now, so you write like it does.”
Further reading
- Anthropic · Claude prompting best practices, the primary source for every lever here
- Anthropic · prompt engineering overview, the fundamentals these refinements sit on
- OpenAI · latest-model prompting guide, the other vendor arriving at the same lean-out advice
- Wikipedia · prompt engineering, the survey view
- Anthropic · engineering blog, where behavior-lever guidance keeps landing