Cursor shape overrides terminal profile setting (block cursor shown instead of user-configured vertical bar)

Resolved 💬 3 comments Opened Mar 3, 2026 by su0xpj-bastion Closed Mar 7, 2026

Summary

Claude Code overrides the terminal cursor shape via ANSI escape codes during TUI input mode. This ignores the user's terminal profile cursor preference (e.g., vertical bar in macOS Terminal.app), forcing a block cursor while Claude Code is active.

Steps to Reproduce

  1. Open macOS Terminal.app
  2. Set cursor style to Vertical Bar in Settings → Profiles → Text → Cursor
  3. Launch claude CLI
  4. Observe cursor changes to a block shape inside Claude Code input

Expected Behavior

Claude Code should either:

  • Respect the terminal's current cursor shape, OR
  • Restore the original cursor shape after each input prompt

Environment

  • OS: macOS (Terminal.app — built-in)
  • Tool: Claude Code CLI

Suggested Fix

Before overriding cursor shape, save the current cursor state and restore it appropriately. Alternatively, add a config option (e.g., cursorStyle: "bar" | "block" | "terminal-default") in settings.json to let users control this.

View original on GitHub ↗

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