{"version":"2.1.290","anchor":"unicode-lone-surrogates-stripped-in-sanitiser-shell-script","canonical_anchor":"unicode-lone-surrogates-stripped-in-sanitiser-shell-script","heading":"Broken Unicode characters are stripped, and shell script reasons are shorter","tier":"notice","area":"Terminal UI","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/unicode-lone-surrogates-stripped-in-sanitiser-shell-script","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Broken Unicode characters are stripped, and shell script reasons are shorter\n\nText cleaning now removes broken Unicode characters, and permission reasons for scripts and shells are shortened\n\n**Unclear.** Which text passes through the cleaning step is not established.\n\n**What**\n\nClaude Code's text cleaning step now removes lone surrogates, which are broken halves of a Unicode character that cannot be displayed properly. This happens before control characters are removed, as before.\n\nPermission prompt reasons are also shorter, for example:\n\n- \"it runs a script by a relative name\"\n\n- \"it runs a shell whose program arrives on a pipe, a heredoc or a file descriptor\"\n\n**Why**\n\nThe permission prompt shows shorter wording, and broken characters are less likely to reach the screen.\n\n- Area: Terminal UI\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 0\/5\n- Scope: individual\n- Heads-up: no"}