[Bug] Agent spams no-op echo probe commands to flush shell output
Bug Description
Title: Agent emits bursts of no-op echo probe commands to flush laggy shell output
What happens: When the Bash tool's output is slow or buffered, the model spams dozens of throwaway commands like echo s1, echo s2, …
echo s40 (sometimes sleep N; echo x) between real commands, apparently to coax buffered output to flush. Each renders in the terminal
as:
● Bash(echo s37)
⎿ s37
● Bash(echo s38)
⎿ s38
Dozens of these per turn bury the actual work and clutter the screen. They serve no purpose for the user.
When it started: Began after the Claude Opus 4.8 upgrade. Was not happening on prior model versions.
Scope: Happens across multiple/all projects, independent of project config.
Expected: Run the real command once and wait for its result; tolerate shell latency. If waiting on async work, use a single backgrounded
command with a real completion signal — never a burst of no-op echoes.
Workaround in use: Added an explicit "never fire no-op probe commands" rule to global CLAUDE.md, but the model should not need this
instruction — the default behavior regressed.
Environment: Claude Code, model claude-opus-4-8 (1M context), Linux.
Environment Info
- Platform: linux
- Terminal: vte-based
- Version: 2.1.156
- Feedback ID: 4fc28aae-97fb-44bf-8b80-c9e14ac353a0
Errors
[]This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗