Case Study ยท Claude Code ยท Open Source

Fable Mode

Fable 5 left the Claude subscriptions โ€” but what made it feel different was never raw intelligence, it was discipline. Fable Mode distills that discipline into an always-on ruleset, injected at the start of every session and every subagent, so Opus, Sonnet, and Haiku all pick up the same habits.

MITClaude Code PluginSessionStart HookOn by default
โŽ‹ View on GitHubDiscuss this project

01Why it exists

When Fable 5 left the Claude subscriptions, what people missed wasn't a smarter model โ€” it was a more disciplined one: answers that led with the outcome, work that covered the whole request, and a model that acted instead of asking permission for reversible steps. That discipline is learnable and portable. Fable Mode packages it as rules/FABLE.md, an always-on ruleset injected into every session so any Claude model โ€” Opus, Sonnet, or Haiku โ€” behaves like Fable 5 by default.

02What it does

Five failure modes show up reliably across models. Fable Mode fixes each with a standing rule:

  1. Verbose preambleยง1 โ€” lead with the outcome, no filler or narration before getting to the answer.
  2. Missed scopeยง2 โ€” enumerate what "done" includes, trace the blast radius of a change, re-read the original request before declaring done.
  3. Asking instead of actingยง3 โ€” act on reversible work; ask only for destructive, outward-facing, or scope-changing actions.
  4. Over-engineeringยง4 โ€” build exactly what was asked, the simplest solution that works (YAGNI).
  5. False confidenceยง5 โ€” never claim tested or done without having actually run it; read files instead of guessing.

A sixth rule, ยง6, applies specifically on Haiku and Sonnet: at high-leverage moments โ€” architectural decisions, being stuck, or reviewing a plan โ€” offer to consult a stronger model (Fable, else Opus), then execute the work itself rather than handing it off.

03How it works

  1. Hook into every sessionA SessionStart and SubagentStart hook fires activate.js, which prints rules/FABLE.md into context โ€” for the main session and for every subagent it spawns, so discipline doesn't stop at the first delegation.
  2. Zero configFable Mode is on by default the moment it's installed โ€” nothing to run, no flag to set.
  3. Conversational controls/fable for a summary, fable status to check state, stop fable mode / fable off to disable, fable on to resume.
  4. Install/plugin marketplace add tarunlnmiit/fable-mode then /plugin install fable-mode@fable-mode.

04What changes

5failure modes fixed
6rule sections
3models covered
0config needed

05Stack

Claude CodePlugin APISessionStart HookJavaScriptMarketplaceMIT