Windows Terminal: Claude Code shows block cursor despite `cursorShape = "bar"`

Open 💬 3 comments Opened Jun 19, 2026 by Cloudstill

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 = true in ~/.claude.json.
  • Remove explicit UI/input-mode overrides such as editorMode, tui, theme, and showTurnDuration from ~/.claude/settings.json.
  • Fully close all claude.exe processes 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

  1. In Windows Terminal settings, set the default profile cursor shape to a bar:

``json
{
"profiles": {
"defaults": {
"cursorShape": "bar"
}
}
}
``

  1. Open PowerShell in Windows Terminal.
  2. Confirm the normal PowerShell prompt uses a bar cursor.
  3. Start Claude Code with claude.
  4. 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.

View original on GitHub ↗

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