After two days with Claude Fable 5 the best way I can describe it is "relentlessly proactive" - here's an example where I dropped in a screenshot of a bug and it span up custom CORS Python servers and used pyobjc-framework-Quartz to capture screenshots https://simonwillison.net/2026/Jun/11/fable-is-relentlessly-proactive/
Simon Willison, Django co-creator, says Claude Fable 5 autonomously generated CORS servers and captured screenshots to debug software
The model initiated debugging from a single bug screenshot.
Many users praise Claude Fable 5 for its relentlessly proactive bug debugging that builds its own servers, observability, and feedback loops like a junior engineer, while a few worry it is too eager and ignores explicit instructions.
Most Activity

This right here is a pretty elegant solution to the problem of wanting to capture measurements from JavaScript in the system Safari without being able to directly access the DOM

@simonw Any tips for using Fable on the $100 Max plan? I'm reaching the 5-hour limit after just one or two prompts.

@simonw There’s been more than a few times where i felt I dropped a message more out of wanting a conversation and less about wanting it to do something, yet it went ahead and did it. Might have to turn auto mode off
@simonw Oo that’s a perfect description
Somehow it knows every trick in the book
After two days with Claude Fable 5 the best way I can describe it is "relentlessly proactive" - here's an example where I dropped in a screenshot of a bug and it span up custom CORS Python servers and used pyobjc-framework-Quartz to capture screenshots https://simonwillison.net/2026/Jun/11/fable-is-relentlessly-proactive/

@simonw Also love that about it. It's finally using skills I gave it a month ago, as I had always wanted, that Opus had never used.

@simonw Exactly. Not just better answers, but “I need a server, screenshots, and a repro loop” and it just does it.
Less like autocomplete and more like a jr engineer with no fear of setting up tools.

@simonw fable feels better than gpt 5.5. not sure i want to replace my openai sub with it yet, but definitely want to have it for some tasks. worth paying the api price tbh.

@simonw One thing that I noticed with Fable vs Opus is that Fable does not punt work to a later session nearly as often as Opus wants to do. In fact I am not sure I have even seen Fable do it once so far. Great developer friction upgrade

@simonw the phrase relentlessly proactive is both comforting and mildly terrifying

@simonw would you actually ship that custom cors + pyobjc solution, or is it clever-in-a-demo code

@simonw love the "relentlessly proactive" framing. i guess this is exactly what it means for intelligence to level up. really enjoy giving fable complex stuff, the big or vague kind

@simonw that sounds insanely powerful, how much time did it save you?

@simonw This is the behavior I trust more than raw tool count: building little local harnesses until there’s evidence the fix works. Proactivity matters most when it closes the loop, not when it just does more stuff.

@simonw It’s too eager, ignores my claude.md saying to just answer when I ask questions and only change code when I explicitly ask it to do something :/

@simonw Kinda cool, but sounds like some pretty token intensive tricks it resorted to as well.

@simonw you're inferring the measurements since you can't read the DOM directly. how accurate does it stay?

@simonw the environment-building is the part i’d watch. spinning up a tiny server and taking screenshots gives the agent a feedback loop instead of treating the screenshot as a one-shot prompt.

"Relentlessly proactive" is the whole value and the whole risk in one phrase. The same drive that spins up a CORS server unprompted is why proactive agents need a hard leash — budget, tool allowlist, scope. Capability you don't bound is just a faster way to be confidently off-task.

@simonw the repro loop is the unlock. screenshots turn vibes into evidence

@simonw tried this on a voice agent. the proactiveness is amazing for prototyping but once you ship, the model starts doing stuff you didn't ask for. you end up writing constraints anyway. the CORS server working automatically, was that you scoping it tight or the model improvising?