{"version":"2.1.277","anchor":"json-string-repair-now-also-guards-against-control-character","canonical_anchor":"json-string-repair-now-also-guards-against-control-character","heading":"JSON unicode-repair pass now also leaves control-character escapes alone","tier":"notice","area":"Tool Validation","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277\/e\/json-string-repair-now-also-guards-against-control-character","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277","markdown":"### JSON unicode-repair pass now also leaves control-character escapes alone\n\nThe tool-JSON double-escaped-unicode repair now skips control-character \\u escapes too, and tracks them in telemetry as controlEscapeSkips\n\n**What**\n\nClaude Code has a routine that repairs double-escaped unicode characters in tool call JSON. It now additionally detects `\\u` escapes representing control characters (the C0 and C1 ranges) and leaves those unrepaired, on top of the existing behavior of skipping Windows file paths.\n\nThis is tracked with a new counter, `controlEscapeSkips`, reported alongside the existing counts for repaired strings and Windows-path skips in the same telemetry event.\n\n**Why**\n\nControl characters encoded as `\\u` escapes shouldn't be touched by the double-escape repair logic, since \"fixing\" them could corrupt otherwise-valid data; tracking how often this happens helps monitor the repair pass's behavior.\n\n- Area: Tool Validation\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5"}