Claude System Prompt Evolution

Word count by category — Opus and Fable snapshots, May 2025 to July 2026

Prompts sourced from simonw/research (mirrors of Anthropic's published system prompts). Latest official-page snapshots extracted from Anthropic's published system prompt page. Analysis informed by Simon Willison's May 2025 and April 2026 breakdowns.

The question: As models improve, do system prompts get shorter? The data no longer tells a simple monotonic story. Opus prompts more than doubled by April 2026, then the newest official-page prompt bodies settled back into the low 3k range. Complexity did not disappear; it shifted into safety blocks, product context, tool discovery, and the harness layer around the model.
⚠ These are the claude.ai published system prompts, not the full API context. The Opus 4 through Opus 4.7 rows use the Simon Willison raw mirrors; Opus 4.8, Fable 5, and Opus 5 use extracted bodies from Anthropic's current docs payload.
Words per category across Claude snapshots
Total prompt length: 1,714 → 3,686 → 3,342 → 3,276 → 3,221 words

Per-version breakdown

Key Findings

Nuanced

Prompts do not shrink monotonically

Opus grew 1,714 → 3,686 words through 4.7, then the latest official-page bodies settle in the low 3k range for Opus 4.8, Fable 5, and Opus 5.

True

Behavioral workarounds get retired

The behavior section changed shape: explicit patches like letter-counting and puzzle constraints receded, while agentic guidance and tool-discovery rules appeared elsewhere.

True

Safety dominates the newest prompts

Fable and Opus 5 both put roughly 1.7–1.8k categorized words into refusal, child safety, wellbeing, legal/financial scoping, and Anthropic reminder language.

Shifted

Identity keeps moving

The newest rows add Claude 5 family positioning, Mythos context, export-control history, and safeguard-routing explanation to the product layer.

Shifted

Tool discovery shifted again

Opus 4.8 adds a dedicated tool-discovery section, while Opus 5 keeps product tools visible without carrying the same explicit deferred-tool block.