Windows: stray stderr from detached child processes renders over the TUI composer/prompt area
Environment
- Claude Code v2.1.216, Windows 10 Pro (10.0.19045), terminal TUI
- Tools involved: PowerShell tool executing
Start-Process
Description
When a command run via the PowerShell tool starts a detached GUI process with Start-Process, and that process later writes to stdout/stderr (it inherits the console), the output bleeds into the Claude Code TUI and is rendered right above/inside the composer (prompt input) area, corrupting the UI.
Reproduction
- In a Claude Code session on Windows, have the PowerShell tool run:
Start-Process "C:\path\to\prismlauncher.exe" -ArgumentList "--launch", "SomeInstance"
(Prism Launcher is a Qt app; when a second instance forwards the command to the already-running instance over a local socket, Qt prints a warning to the console.)
- Some seconds later the line
QLocalSocket::setServerName() called while not in unconnected state
appears rendered above the input box of the TUI (screenshot available), mixed into the composer chrome. It persists across redraws of the status line.
Expected
Output from detached/background child processes should not be able to corrupt the TUI; either the TUI should repaint over foreign writes to the terminal, or spawned processes should not inherit the interactive console handles.
Workaround
Redirecting output in Start-Process (-RedirectStandardOutput/-RedirectStandardError) or launching via cmd /c start avoids the corruption.
🤖 Generated with Claude Code