Claude Ignoring Instructions? How to Fix Prompt Drift
Updated 9/17/2026
When using Anthropic's Claude, you may find that the model occasionally ignores specific instructions, skips formatting constraints, or violates negative rules (such as "do not use passive voice"). This behavior, often referred to as "instruction drift," typically happens due to long conversation histories, poor prompt structure, or the inherent way large language models process attention.
Because Claude is trained specifically to respond well to highly structured inputs, you can resolve these issues by adjusting how you present information to the model.
Why Claude Ignores Your Instructions
There are three primary reasons Claude might drift away from your instructions: 1. Context Window Saturation: As a chat gets longer, the initial system instructions lose "attention weight" compared to the most recent messages. 2. Vague Formatting: If your instructions are mixed in with background data or examples, Claude may struggle to distinguish rules from reference text. 3. Negative Constraint Failure: LLMs often struggle with negative constraints (telling them *not* to do something) because the model still has to process the forbidden concept to understand the prompt.
---
Step-by-Step Fixes for Instruction Drift
1. Use XML Tags to Separate Instructions Claude is trained on data heavily structured with XML tags. Wrapping your instructions, data, and constraints in explicit tags is the most effective way to keep the model on track.
Instead of writing: *"Please read this text and summarize it in three sentences. Do not include any introductory remarks."*
Structure it like this: `xml <instructions> Summarize the text provided in the <input_text> tags. Follow these strict constraints: - Your summary must be exactly three sentences. - Do not include any introductory or conversational text (e.g., "Here is your summary:"). </instructions>
<input_text> [Your text goes here] </input_text> `
2. Shift Instructions to the End of the Prompt Claude exhibits "recency bias," meaning it pays more attention to information placed at the very end of your prompt. If you place thousands of words of reference material *after* your rules, Claude is highly likely to ignore those rules. Always structure your prompt so that the instructions or the final command are at the bottom of the input.
3. Convert Negative Constraints into Positive Actions If Claude continues to ignore a negative instruction (e.g., "do not write code in Python"), rephrase it as a positive requirement. * **Avoid:** "Do not use jargon." * **Use:** "Write using only plain English words that are easily understood by a non-technical audience." * **Avoid:** "Don't include explanations in your reply." * **Use:** "Provide only the raw output data. Your response must contain zero explanatory text."
4. Provide Few-Shot Examples If Claude is failing to format its output correctly, feed it one or two examples of a perfect response. Use XML tags to separate these examples so the model can visually map the expected pattern.
`xml <example_input> Translate "Hello" to French without extra text. </example_input> <example_output> Bonjour </example_output> `
5. Start a Fresh Chat Session Once Claude makes an error or ignores a constraint in a chat thread, that error becomes part of the active chat history. Claude will look back at its own incorrect behavior and assume it is the correct pattern to follow. If Claude fails twice in a row, copy your prompt, click "Start New Chat," and paste the revised prompt into a clean session.
---
When to Escalate
If you have applied XML tags, simplified your constraints, started a fresh chat, and Claude still completely ignores your basic prompts, there may be an active platform update or model regression. Check the unofficial developer communities or the official Anthropic Status page to see if other users are reporting widespread model-behavior regressions. If you are an API user experiencing persistent instruction failures that worked previously, log into your Anthropic Console dashboard and submit a support ticket detailing your prompt structure and the exact API model version you are querying.
Quick fixes
- Claude is down or not loading
- Claude Pro billing or payment problem
- Can't sign in to Claude