{"version":"2.1.238","anchor":"fewer-stray-escape-sequences-after-claude-code-hands-the-ter","canonical_anchor":"fewer-stray-escape-sequences-after-claude-code-hands-the-ter","heading":"Fewer stray escape sequences after Claude Code hands the terminal back","tier":"notice","area":"Terminal Rendering","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.238\/e\/fewer-stray-escape-sequences-after-claude-code-hands-the-ter","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.238","markdown":"### Fewer stray escape sequences after Claude Code hands the terminal back\n\nYour shell is less likely to show leftover escape junk after Claude Code exits.\n\n**What**\n\nThe renderer no longer re-sends terminal mode sequences once the interface has been torn down, not just while it is paused, so a shell that regains the terminal is less likely to see leftover escape codes.\n\n**Details**\n\n- The bail-out check is now `if (this.isPaused || this.isUnmounted) return;`, and stored cursor state carries the number of rows emitted.\n- A related probe now tests whether the terminal has already been released rather than whether the app unmounted.\n- Only runs when standard output is a terminal.\n\n**Evidence**\n\n`if (this.isPaused || this.isUnmounted) return;`\n\n- Area: Terminal Rendering\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5"}