[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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗