Assistant turn fails to generate after Bash tool result; harness loops on 'Retrying in 0s · attempt 1/10' for ~10 minutes
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:
- Assistant issued a Bash tool call.
- Tool result returned normally — the output was present and well-formed in the transcript.
- Assistant turn did not generate. The retry banner appeared and persisted.
- 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.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗