[BUG] Terminal UI rendering corruption when running 18 parallel Task subagents
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
When launching many parallel subagents (18-30+) using the Task tool, the terminal UI experiences severe rendering corruption. Issues include:
- Text merging: Status text corrupts into "ReDone", "LiennDone", "RiDone" instead of clean "Done" labels
- Tree structure corruption: Hierarchical characters mix improperly like
• C├──and• J LiennDone - Column overlap: Token counts and stats truncate (e.g., "t ol uses" instead of "tool uses", "tokensens" instead of "tokens")
- Line bleeding: Agent descriptions merge across lines, making the output unreadable
What Should Happen?
- Clean hierarchical tree display of all running agents
- Status indicators ("Done", spinners) render correctly on their own lines
- Token counts and tool use numbers display without truncation or overlap
- Each agent's output line remains distinct and readable
Error Messages/Logs
No explicit error messages - this is a visual rendering issue only.
The agents complete successfully, but the UI display is corrupted.
Steps to Reproduce
- Open Claude Code in a terminal
- Run a prompt that spawns many parallel subagents:
````
review all 54 prompts using subagents -> for each prompt launch subagent to check if changes affect the CLI codebase
- Observe the UI as 20+ Task agents spawn and run concurrently
- Watch the display corruption appear as agents complete (especially when multiple complete around the same time)
Note: The bug becomes visible after ~15-20 agents are running simultaneously. It worsens when agents complete at similar times, causing many concurrent status line updates.
Claude Model
Opus
Is this a regression?
I don't know
Claude Code Version
2.1.23 (Claude Code)
Platform
Anthropic API
Operating System
macOS (Darwin 24.6.0)
Terminal/Shell
macOS Terminal (needs confirmation from reporter)
Additional Information
Screenshots showing the corruption:
<img width="80%" alt="Image" src="https://github.com/user-attachments/assets/24eef790-3c51-4639-9be7-6dbfa459efd1" />
(Note: Screenshots need to be uploaded manually after issue creation)
Observations:
- Issue appears specific to high parallelism (20+ concurrent subagents)
- Likely related to ANSI escape sequence handling or terminal buffer management during rapid concurrent status updates
- Workaround: Batching subagents into smaller groups (5-6 at a time) avoids the corruption, but defeats the purpose of parallel execution
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗