Add configurable cursor style option (cursorStyle) for terminal cursor appearance
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When using Claude Code in Windows Terminal (or any modern terminal emulator), the cursor is forced to a block
style upon entering the TUI, overriding the user's terminal cursor preference (e.g., line/beam/I-beam). After exiting
Claude Code, the cursor reverts to the default terminal setting. This is jarring and reduces the native feel of the
terminal experience.
Proposed Solution
Introduce a cursorStyle setting in settings.json that allows users to choose their preferred cursor shape within
Claude Code:
```json
{
"cursorStyle": "line"
}
Supported values: "block", "line", "underline", or "terminal" (use the terminal's default without overriding).
This setting would control the ANSI escape sequences Claude Code emits for cursor shape (e.g., \e[5 q for beam, \e[1 q
for block).
Alternative Solutions
Manually configuring the terminal — doesn't work because the TUI actively overrides it.
Using a terminal wrapper script — fragile and not a real solution.
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
Terminal: Windows Terminal
Platform: Windows 10
Many terminal users have a strong preference for beam/line cursors in text input contexts, and being forced to block mode feels off.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗