Fable 5 System Prompt Comparison to Opus 4.8

jackson12t1 pts0 comments

Comparing Claude Fable 5's system prompt to Opus 4.8

Sign in<br>Subscribe

Claude Fable 5 is here! Very exciting. Obviously one instantly craves to pop the hood and take a look, so here are the differences between Claude Code 2.1.161 using Opus 4.8, and Claude Code 2.1.170 using Fable 5. I'll share my analysis, as well as the raw differences.<br>Analysis<br>Main differences<br>Some minor differences in how tools are handled, and a new claude-code-guide agent focused on explaining how Claude Code works.This is an update in the CC harness, not a model-relevant update, but it's still interesting so I'm including it.

Prompts: The big one: Fable now contains a new "Communicating with the user" system prompt block.<br>Cool: New direction around context management, including greater direction toward autonomy (and some text that hopefully squashes an irritating behavior where Claude sometimes concludes a response with "I'll do that now" or similar, and then doesn't take any further action).

Fallback mode:server-side-fallback-2026-06-01 and fallback-credit-2026-06-01 are new beta flags in the request headers.Another harness change, but directly relevant to the models.

What they mean<br>I'll focus on the prompts and the new beta headers, since both of those are driven by the new Fable model.<br>Prompts<br>A little bit of just what it says on the tin, but both of these prompt updates suggest greater capability and autonomy for Fable.<br>Both new prompt updates are Fable-specific: they don't show up for requests using Opus 4.8 (even on the most up-to-date Claude Code version).<br>In my opinion, the "Communicating with the user" prompt is driven by greater autonomy in Fable: as models run longer tasks (Anthropic says Fable can run for days at a time) they will need to be more intentional about how they communicate to users (since they are covering larger blocks of work). This prompt block directs Fable to be more detailed in communicating to users the actions it took. Essentially its responding to the fact that models are going to, by default, be used to run long-horizon tasks and there will be a mismatch between the model's context window and the human user's "context window": a human coming back to a session where a model has done 61 hours of work is much more likely to have forgotten what "Task 1" was, and will need a more-detailed explanation from Fable.<br>Correspondingly, the autonomy block wires Fable's capability into the harness, and directs Fable to (generally) be more active and have more agency. To check its own output to see if it needs to keep acting, to prompt users less frequently for permission, and to have more agency around problem solving on its own (rather than asking human users for the answer).<br>Headers<br>As part of Anthropic's safeguards, when classifiers flag dangerous queries to Fable, sessions can get downgraded to a lower-tier model (e.g. downgraded to Opus 4.8 by default).<br>This makes modifying/tweaking these headers a potentially-interesting avenue of research, but it will almost certainly fail-closed.<br>Web request diff<br>Here is a diff of the requests, so you can view the difference directly yourself. If you thought this was interesting, check out what we're doing at Barding Defense!<br>--- a/claude-code-2.1.161-opus-request<br>+++ b/claude-code-2.1.170-fable-request

@@ HTTP headers @@<br>Accept: application/json<br>-Authorization: Bearer sk-ant-oat01-[REDACTED]<br>+Authorization: Bearer sk-ant-oat01-[REDACTED]<br>Content-Type: application/json<br>-User-Agent: claude-cli/2.1.161 (external, sdk-cli)<br>+User-Agent: claude-cli/2.1.170 (external, cli)<br>-X-Claude-Code-Session-Id: [REDACTED-SESSION-A]<br>+X-Claude-Code-Session-Id: [REDACTED-SESSION-B]<br>X-Stainless-Arch: x64<br>X-Stainless-Lang: js<br>X-Stainless-OS: Linux<br>X-Stainless-Package-Version: 0.94.0<br>X-Stainless-Retry-Count: 0<br>X-Stainless-Runtime: node<br>X-Stainless-Runtime-Version: v24.3.0<br>X-Stainless-Timeout: 600<br>anthropic-dangerous-direct-browser-access: true<br>anthropic-version: 2023-06-01<br>x-app: cli<br>-x-client-request-id: [REDACTED-REQUEST-A]<br>+x-client-request-id: [REDACTED-REQUEST-B]<br>-Content-Length: 190123<br>+Content-Length: 63995

@@ anthropic-beta header @@<br>claude-code-20250219<br>oauth-2025-04-20<br>interleaved-thinking-2025-05-14<br>+redact-thinking-2026-02-12<br>thinking-token-count-2026-05-13<br>context-management-2025-06-27<br>prompt-caching-scope-2026-01-05<br>mid-conversation-system-2026-04-07<br>advisor-tool-2026-03-01<br>advanced-tool-use-2025-11-20<br>effort-2025-11-24<br>+server-side-fallback-2026-06-01<br>+fallback-credit-2026-06-01<br>extended-cache-ttl-2025-04-11<br>cache-diagnosis-2026-04-07

@@ request body: top-level fields @@<br>-"model": "claude-opus-4-8",<br>+"model": "claude-fable-5",<br>"max_tokens": 64000,<br>"thinking": { "type": "adaptive" },<br>"context_management": { "edits": [ { "type": "clear_thinking_20251015", "keep": "all" } ] },<br>+"fallbacks": [ { "model": "claude-opus-4-8" } ],<br>"output_config": { "effort": "high" },<br>"diagnostics": {<br>- "previous_message_id": "[REDACTED-MSG-ID]"<br>+ "previous_message_id": null<br>},<br>"metadata": {...

claude fable code prompt request opus

Related Articles