claude-fable-5: unbounded single-token repetition loop ('court' spam) after tool results in long sessions

Open 💬 0 comments Opened Jul 2, 2026 by slcice

Environment

  • Product: Claude Code desktop app, macOS (Darwin 25.5.0)
  • Model: claude-fable-5
  • Date observed: 2026-07-01 ~21:00–22:40 MT (2026-07-02 03:00–04:40 UTC)
  • Session ID: b71fbd09-1e03-4106-9d24-ecd534b2bcfb (transcript available — please pull server-side, or ask and we'll provide)

Summary

During a single long agentic session, the model repeatedly fell into a degenerate decoding loop: it emitted the single word "court" repeated hundreds-to-thousands of times as plain text, instead of (or in addition to) its normal response. It did this three times in the same session — twice catastrophically (output only stopped when the user manually interrupted), once as a minor precursor. Between occurrences the model recovered fully and did correct, useful work, so the underlying task context was not corrupted — this looks like an inference/decoding failure, not a reasoning failure.

Timeline of occurrences

  1. Precursor (minor): a handful of stray standalone court lines appeared interleaved between otherwise-correct tool calls, immediately after a tool-result + <system-reminder> block (a task-tools reminder).
  2. Catastrophic #1: after a normal Bash tool result, the model wrote one correct sentence, then emitted court repeated (blank-line separated) in an apparently unbounded stream — thousands of repetitions — until the user pressed interrupt.
  3. Recovery: after the interruption the model acknowledged the glitch, correctly picked up its in-flight work (a git cherry-pick / PR flow), and completed several tool calls flawlessly.
  4. Catastrophic #2: immediately after launching a background task and receiving a <system-reminder> (task-tools reminder), the model again emitted an unbounded court stream until the user interrupted and switched models via /model.

Session characteristics (possible triggers)

  • Very long session: heavy multi-hour agentic run — ~10+ subagent launches, hundreds of tool calls (Bash, browser MCP with screenshots, file edits), background task notifications, and at least one context summarization likely.
  • The session had earlier hit the session usage limit mid-run ("You've hit your session limit · resets 8:50pm") and was resumed afterwards — both catastrophic loops happened in the post-resume portion.
  • All three occurrences began immediately after a tool_result and/or an injected <system-reminder> block, never mid-sentence in ordinary prose.
  • The repeated token was identical across all three events (court), a word with no relation to the session content (automotive SaaS code review).

Impact

Two turns of pure token spam (cost + wasted time); work blocked until manual user interruption. In an unattended/headless run this would have burned tokens until the turn limit with no useful output.

Reproducibility

Not deterministic. Correlates with: very long context, post-limit-resume session state, and output resuming right after tool_result/system-reminder blocks. No user-content trigger identified.

Expected behavior

Model either produces a normal response or fails cleanly — never an unbounded single-token repetition stream.

Related

Attempting to report this via the in-app /feedback command failed repeatedly with a generic "network error" (connectivity to api.anthropic.com verified fine at the time, status page all-green) — possibly a separate bug in the desktop app's feedback path with large payloads.

View original on GitHub ↗