Feature Request: Add environment variable to disable cursor shape changes
Resolved 💬 3 comments Opened Oct 29, 2025 by errordnk Closed Nov 1, 2025
Problem:
Claude Code changes the terminal cursor shape during execution using DECSCUSR escape sequences. This overrides user's terminal configuration (e.g., Windows Terminal profile settings with cursorShape: "vintage").
Even with PROMPT_COMMAND='echo -en "\e[3 q"' in bash, the cursor changes are visible during Claude's execution, which can be distracting for users who prefer a consistent cursor appearance.
Proposed Solution:
Add an environment variable to control cursor behavior:
CLAUDE_CODE_CURSOR_SHAPE=default- Don't emit any cursor shape escape sequencesCLAUDE_CODE_CURSOR_SHAPE=bar- Use bar cursor (current behavior)CLAUDE_CODE_CURSOR_SHAPE=block- Use block cursorCLAUDE_CODE_CURSOR_SHAPE=underscore- Use underscore cursor
Or simpler:
CLAUDE_CODE_DISABLE_CURSOR_CHANGES=true- Completely disable cursor modifications
Environment:
- OS: Windows 11
- Terminal: Windows Terminal
- Shell: bash
Workarounds Tried:
- Setting
cursorShapein Windows Terminal profile (overridden by VT sequences) - Using
PROMPT_COMMANDto reset cursor (only works between prompts, not during execution)
Similar Setting:
Claude Code already has CLAUDE_CODE_DISABLE_TERMINAL_TITLE for similar terminal control, this would follow the same pattern.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗