[Bug] Claude Code overrides Windows Terminal cursor shape and blink settings
Bug Description
Title: Claude Code overrides Windows Terminal cursor settings (shape / blink)
Environment:
- OS: Windows
- Terminal: Windows Terminal
- Shell: PowerShell
- Claude Code TUI mode: fullscreen ("tui": "fullscreen" in settings.json)
Summary:
Claude Code does not inherit the cursor configuration from my Windows Terminal profile. My profile defines a specific cursorShape (and blink behavior), but once Claude Code starts, the cursor inside the input box is rendered with a different shape/blink state. The terminal-side settings only take effect again after Claude Code exits.
Expected behavior:
Claude Code should respect the host terminal's cursor configuration unless the user explicitly opts into a custom cursor style. At minimum, there should be a way to prevent Claude Code from emitting DECSCUSR (or equivalent) escape sequences that override the terminal's cursor.
Actual behavior:
The input box (and possibly other UI elements) appears to send cursor-shape escape sequences that override Windows Terminal's cursorShape / cursor-height / blink settings for the duration of the session.
Reproduction:
1. Configure a non-default cursor shape (e.g. filledBox or vintage) and/or blink in a Windows Terminal profile.
2. Launch Claude Code in that profile (fullscreen TUI mode).
3. Observe that the cursor shown by Claude Code does not match the profile's setting.
Requested feature:
Add an opt-out, e.g.:
- An environment variable such as CLAUDE_CODE_PRESERVE_CURSOR=1, or
- A settings.json key such as "preserveTerminalCursor": true
so that Claude Code leaves the terminal's native cursor configuration untouched.
Why it matters:
Users who carefully tune their terminal cursor (for visibility, accessibility, or aesthetic reasons) lose those settings whenever Claude Code is the foreground application — which, for heavy users, is most of the day.
Environment Info
- Platform: win32
- Terminal: windows-terminal
- Version: 2.1.119
- Feedback ID: f860ffb2-1366-4282-bbd8-2d2d9b183289
Errors
[]This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗