The new rules of context engineering for Claude 5 generation models

Anthropic reveals new context engineering principles for Claude 5 generation models, showing how removing over 80% of Claude Code's system prompt unlocks better model judgment and efficiency.
The new rules of context engineering for Claude 5 generation models
We removed over 80% of Claude Code's system prompt for more advanced models. How to apply the lessons we learned to your own context engineering in Claude Code and with your own agents.
When you send a message to Claude, the prompt is only a small part of the context it gets. Much of your context is assembled from your system prompt, Skills, CLAUDE.md files, memory, and other sources. We call this context engineering, and it makes a big impact on the results you generate when using Claude Code or in building your own agents.
Unlike a prompt, context is used generally across many requests, so it cannot be as specific. How do you build these general prompts and guidance for Claude, especially when you don't know what a user's prompt might be?
This can be surprisingly difficult as Claude's own capabilities evolve. Most recently, we noticed a large jump in the way we prompt the newest generation of Claude models. We removed over 80% of Claude Code's system prompt for models like Claude Opus 5 and Claude Fable 5 with no measurable loss on our coding evaluations.
Here's what we've learned about prompting this new class of models, and how you can utilize it to update your context engineering.
Unhobbling Claude
Overall, we found that we were overconstraining Claude Code, both through our system prompt and in our CLAUDE.md files and skills.
For example, when we read transcripts of our own internal usage of Claude Code, we see several conflicting messages in a single request like "leave documentation as appropriate," or "DO NOT add comments" as our system prompt, skills, and user requests clash with each other.
Generally, Claude can interpret the user's intent to get to the right answer, but Claude must think more carefully about these overlapping and conflicting messages before deciding what to do.
And while these constraints were once needed to avoid worst case scenarios, we have since found we can delete many of them and let the model use surrounding context and judgement instead.
Additionally, Claude Code now has many more tools. Claude used to rely on CLAUDE.md as a source of memory, information, and guidance. Now we have memory, artifacts, and skills, which Claude can use to create new ways of loading and sharing context across sessions.
Shift in Best Practices
Then: Give Claude rules | Now: Let Claude use judgement
When we first rolled out Claude Code, we needed to be sure that Claude avoided worst case scenarios, such as deleting files. This meant we would give particularly strong guidance that might not always be true.
In the new system prompt we say: Write code that reads like the surrounding code: match its comment density, naming, and idiom.
Then: Give Claude examples | Now: Design interfaces
The number one rule for tool usage was to give Claude examples on how to use them. With our newest models, we've found that giving examples actually constrains them to a certain exploration space. Instead of using examples, think more about the design of your tools, scripts, and files.
Then: Put it all upfront | Now: Use progressive disclosure
Claude Code has gotten very competent at using progressive disclosure—loading the right context at the right times. Some of our tools use 'deferred loading,' meaning the agent searches for full definitions using ToolSearch only when needed.
Then: Repeat yourself | Now: Simple tool descriptions
We deleted repeated examples across context windows and placed clear instructions directly within tool descriptions rather than the main system prompt.
Then: Memory in CLAUDE.md files | Now: Auto-memory
Claude now automatically saves memories that are relevant to the work and to you without requiring manual intervention.
Then: Simple specs | Now: Rich references
Instead of simple markdown files, Claude can reference HTML artifacts, comprehensive test suites, and dynamic evaluation rubrics.
Applying this to your context
- System Prompt: Keep it tightly bound to product context and agent execution boundaries.
- CLAUDE.md: Keep it lightweight. Briefly describe the repo's purpose and focus token budget on non-obvious caveats and gotchas inside the codebase.
Source: Hacker News















