[BUG] Tool/Agent progress lines repeat hundreds of times instead of updating in place (v2.1.2, macOS, iTerm2)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Tool and agent progress indicators repeat hundreds of times instead of updating in place. The spinner line (⏺) should overwrite itself on each update, but instead each update appends a new line, flooding the terminal with duplicate status lines.
This affects:
- WebSearch tool progress
- Task tool subagent status (e.g.,
cdb-codebase-expert(...)) - Likely all tools with progress indicators
The alternating pattern of lines with/without the ⏺ icon suggests the spinner animation IS cycling correctly, but the ANSI cursor positioning/line clearing is failing.
What Should Happen?
A single progress line that updates in place. The ⏺ spinner should animate by overwriting the same line, showing something like:
⏺ Web Search("query here")
Then when complete:
⏺ Web Search("query here")
⎿ Did 1 search in 29s
Error Messages/Logs
No error messages - this is a visual/rendering bug only.
Steps to Reproduce
- Start Claude Code 2.1.2 in iTerm2 on macOS
- Run any command that triggers a tool with a progress indicator (e.g., ask Claude to search the web, or use a custom agent via Task tool)
- Observe the terminal output during tool execution
- Instead of a single updating line, hundreds of duplicate lines appear
Example prompt that triggers it:
"Search the web for Python lazy import best practices"
Or spawning a subagent:
"Use the explore agent to find all API endpoints"
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Unknown - issue noticed after updating to 2.1.x
Claude Code Version
2.1.2
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
_No response_
This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗