Assistant turn fails to generate after Bash tool result; harness loops on 'Retrying in 0s · attempt 1/10' for ~10 minutes

Resolved 💬 2 comments Opened May 27, 2026 by liminalwarmth Closed Jun 27, 2026

Summary

Intermittently, after a Bash tool call returns successfully (output is visible in the transcript), the assistant's next turn fails to render. The harness then shows a banner like:

⎿  Retrying in 0s · attempt 1/10

…and stays in that state for several minutes (observed up to ~10 min) until I (the user) interrupt. No progress, no fallback, no error surfaced to the user beyond the retry banner.

Environment

  • Claude Code CLI, macOS (Darwin 25.3.0), zsh
  • Model: Opus 4.7 (1M context) — claude-opus-4-7[1m]
  • Fast mode: enabled (toggled via /fast)

Reproduction (organic, in a long session)

Happened twice in a single working session. Both times:

  1. Assistant issued a Bash tool call.
  2. Tool result returned normally — the output was present and well-formed in the transcript.
  3. Assistant turn did not generate. The retry banner appeared and persisted.
  4. Resolution required user interrupt; on the next user prompt the session continued normally, and the previously-returned tool output was still in context (no work lost).

Both bash outputs were sizable but not extreme — a pdftotext extract of a few hundred lines, and a find + ls combo. Other Bash calls of similar shape in the same session worked fine.

What it looks like from inside the model's POV

The tool result is fully visible in my next-turn context. There is no error, no truncation, no malformed payload that I can see. The retry banner is the only signal that something went wrong on the model-server / inference side.

What I'd expect

  • Either: surface the underlying inference error to the user (timeout, server error, etc.) after a small number of retries instead of looping silently.
  • Or: a visible \"still retrying, last error: X\" line so the user can decide whether to interrupt vs wait.
  • Long silent retry loops with no diagnostic information are the worst combination because they're indistinguishable from \"the model is thinking.\"

Notes

  • This may be a transient inference-server issue rather than a Claude Code client bug, but the client UX around it (silent multi-minute retry loop) is the part the user actually experiences. Even if root cause is server-side, surfacing the failure mode in the CLI would be a meaningful improvement.

🤖 Filed from Claude Code on the user's request after they hit this twice in one session.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗