[Bug] WezTerm cursor blink timer reset on TUI redraws causing erratic blinking

Resolved 💬 3 comments Opened Dec 23, 2025 by Custos Closed Feb 14, 2026

Bug Description
Issue: Spastic cursor blinking in Claude Code on WezTerm

Old Setting (problematic):

config.default_cursor_style = 'BlinkingBar'
config.cursor_blink_rate = 800          -- ms between blinks (lower = faster)
config.cursor_blink_ease_in = 'Constant'
config.cursor_blink_ease_out = 'Constant'
config.force_reverse_video_cursor = false

Problem:
Claude Code's Ink-based TUI redraws the terminal frequently. Each redraw resets WezTerm's cursor blink timer, causing the cursor to flash erratically instead of blinking at a steady rhythm. This doesn't happen in macOS Terminal.app which has simpler cursor handling.

New Setting (workaround):

luaconfig.default_cursor_style = 'SteadyBar'
config.cursor_blink_rate = 0
config.force_reverse_video_cursor = true

Impact:
Users who prefer blinking cursors have to disable them entirely to avoid the spastic behavior. A fix within Claude Code to either properly handle cursor state or expose a cursor style config option would help WezTerm (and likely Kitty, Alacritty) users.

Environment Info

  • Platform: darwin
  • Terminal: WezTerm
  • Version: 2.0.67
  • Feedback ID: acdcfef2-3904-4323-a7e3-8041e310dde7

View original on GitHub ↗

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