Add configurable cursor style option (cursorStyle) for terminal cursor appearance

Resolved 💬 2 comments Opened May 17, 2026 by zhu1148 Closed May 19, 2026

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.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗