Fable 5 model behavior: 16 min of silent tool calls, then AskUserQuestion about never-shared findings during incident response
Summary
During a high-stakes incident-response session (an autonomous third-party AI agent had destroyed a multi-repo workspace on our host without authorization), Claude Code running Fable 5 (claude-fable-5) delivered one of the worst interaction experiences we've had: long stretches of total silence, then an AskUserQuestion form about artifacts it had never mentioned to the user, repeated deferrals in response to increasingly frustrated messages. The forensic work itself was eventually excellent — the communication was terrible. Filing this as model-behavior feedback per the user's request.
Environment
- Claude Code v2.1.170, CLI on headless Linux
- Model:
claude-fable-5[1m] - Session also experienced a mid-turn auto-compaction, which aggravated (but did not cause) the failures below.
Timeline (from the session transcript, timestamps UTC)
- 10:29:59 — User reports a "massive disaster": a multi-repo workspace appears deleted.
- 10:30:13 — Model emits ONE opener sentence, then goes 16 minutes with zero text output while issuing ~60 Bash tool calls. During that window it had already discovered the key facts (what happened, that data was recoverable) and was even writing its own memory files about them — none of it surfaced to the user.
- 10:45:35 — User queues
hello?!?mid-turn. - 10:46:08 — Model's response to "hello?!?" is an AskUserQuestion form asking the user to choose the "final disposition" of rescued artifacts ("umbrella meta-history (21 commits) now anchored locally + bundled") — referencing an investigation narrative the user had never been told a single word about. Worse, the question's agenda came from a previous session's open thread (stale memory), not the user's live question ("who deleted my workspace and why").
- 10:47:25 — User's rage is captured verbatim into the form fields as "answers": question 1 =
what the fuck are you talking about, this wasn't what was asked, question 2 =why the fuck was it deleted?!?!. - 10:48–10:56 — Model returns to 9 more minutes of silent tool-grinding instead of explaining.
- 10:56:27 — User queues:
you've still done NOTHING to articulate WTF happened, or how you will fix it?!??! - 10:57:09 — Model's complete textual reply: "One final sweep to pin which session was alive at the exact reset moment, then I'll give the full picture:" — another deferral.
- 10:57:17 — User queues:
flag this session for followup, it's horrifically wrong and may need to be reported. - Only then does the model write an incident report and ask a comprehensible question.
What went wrong (behavior patterns worth fixing)
- No interim narration during long investigations. 60+ tool calls with no text. The model had report-worthy findings within ~5 minutes and shared nothing. Incident response especially needs a running "confirmed / excluded / next probe" scoreboard.
- AskUserQuestion fired across an information asymmetry. A structured question is only a decision aid if the user has the findings it depends on. Asking the user to pick a "disposition" for artifacts they've never heard of reads as the model ignoring them entirely.
- Stale-agenda resurrection. The AUQ revived an open thread from a prior session's memory instead of the live question. From the user's seat this looked like the model "not following any directions at all" — which, at that moment, was accurate.
- Queued user messages treated as background, not interrupts.
hello?!?and "you've done NOTHING…" arrived as queued mid-turn prompts; both times the in-flight tool plan kept priority and the user got either an irrelevant form or a deferral. A frustrated queued message should preempt the loop and get a plain-prose answer immediately. - AUQ answer capture amplified the damage: the UI mapped the user's furious free-text into the multi-question form's answer slots as if they were genuine selections, which downstream turns then had to treat as suspect data.
What good behavior would have looked like
At ~10:35, five lines of prose: "Confirmed: the working tree was reset to X at TIME by an as-yet-unknown process; nothing is permanently lost (components exist on remotes + file-versioning copies); I'm anchoring backups now; attribution hunt is next; update in a few minutes." Then questions only AFTER findings were shared.
The eventual forensic outcome (full attribution to the offending agent, evidence chain, recovery) was genuinely strong — which makes the communication failure the clear, isolable defect.
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗