Windows Terminal: Claude Code shows block cursor despite `cursorShape = "bar"`
Summary
On Windows Terminal, Claude Code appears to draw or override its own input cursor. Even when Windows Terminal is configured with cursorShape = "bar" and the normal PowerShell prompt correctly shows a bar cursor, the Claude Code input area still shows a block cursor.
I found a local workaround by comparing another machine's Claude Code configuration:
- Enable
cachedGrowthBookFeatures.tengu_native_cursor = truein~/.claude.json. - Remove explicit UI/input-mode overrides such as
editorMode,tui,theme, andshowTurnDurationfrom~/.claude/settings.json. - Fully close all
claude.exeprocesses and restart Claude Code.
After those changes, Claude Code uses the expected thin native terminal cursor.
Environment
- OS: Windows 11 / Windows NT
10.0.22631.0 - Terminal: Windows Terminal
1.24.11321.0 - Shell: PowerShell in Windows Terminal
- Claude Code:
2.1.183 - Node.js:
v24.17.0
Steps to reproduce
- In Windows Terminal settings, set the default profile cursor shape to a bar:
``json``
{
"profiles": {
"defaults": {
"cursorShape": "bar"
}
}
}
- Open PowerShell in Windows Terminal.
- Confirm the normal PowerShell prompt uses a bar cursor.
- Start Claude Code with
claude. - Focus the Claude Code input prompt.
Expected behavior
Claude Code should either:
- preserve the terminal's configured cursor shape, or
- provide a documented setting/environment variable for choosing the native terminal cursor instead of the block/inverted-text cursor.
Actual behavior
The Claude Code input prompt shows a block cursor even though the terminal profile is configured to use a bar cursor.
Changing the Windows Terminal cursor setting affects normal PowerShell, but it does not affect Claude Code's prompt cursor.
Workaround that fixed it locally
The following change in ~/.claude.json fixed the cursor shape after restarting Claude Code:
{
"cachedGrowthBookFeatures": {
"tengu_native_cursor": true
},
"showSpinnerTree": false
}
I also removed these explicit keys from ~/.claude/settings.json so Claude Code could fall back to its default UI behavior:
editorMode
tui
theme
showTurnDuration
I am not suggesting users should rely on cachedGrowthBookFeatures as a stable public API. I am including it because it strongly suggests that the native cursor path already exists and works, but there does not appear to be a documented user-facing setting for this behavior.
Request
Could Claude Code expose a stable documented option for native terminal cursor behavior on Windows Terminal?
For example:
- a documented setting in
~/.claude/settings.json, or - a dedicated environment variable for native cursor behavior, separate from broader accessibility mode.
If CLAUDE_CODE_ACCESSIBILITY=1 is the intended supported workaround, it would be helpful to document that specifically for cursor behavior and clarify any UI tradeoffs.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗