The check for hooks secretly rewriting UI text now covers more fields and blocks hidden control characters
Claude Code has an internal check that catches a hook or plugin silently rewriting the text a UI element displays. Previously this check only looked at one field, a message's origin. It now checks a wider set of fields (origin, isExpanded, task, from), and separately flags any of these values as suspicious if it contains a control character (a hidden escape sequence the terminal would act on) or is unexpectedly long.
This closes gaps where a hook could have altered what a user sees in ways the old, narrower check wouldn't catch, making it harder for a hook to disguise a rewrite as ordinary printable text.