Claude Code now errors loudly instead of silently overwriting a stuck terminal UI root
Claude Code's terminal interface is built with a library called Ink, which mounts a "root" to take over the terminal and put it in raw input mode. Previously, if something tried to mount a second root on a stream while a prior root was still holding the terminal in raw mode, the tracking silently overwrote the old root. Now this situation throws an explicit error telling the caller to unmount the previous root first.
This surfaces a bug condition immediately instead of letting it fail silently, which should make it easier to catch and fix cases where the terminal UI is being mounted incorrectly.