Description
Claude Code causes severe screen flickering (~2-3 times per second) when running in VS Code/Cursor integrated terminal on Windows. The flickering is so intense it can trigger discomfort even for users without photosensitivity issues.
Environment
- OS: Windows 10/11
- Terminal: VS Code / Cursor integrated terminal (xterm.js)
- Shell: Git Bash, PowerShell (both have the issue)
- Claude Code version: Latest
Steps to Reproduce
- Open VS Code or Cursor on Windows
- Open integrated terminal (Git Bash or PowerShell)
- Run
claude and send any prompt
- Observe the screen flickering rapidly during response streaming
Expected Behavior
Smooth text streaming without full screen re-renders.
Actual Behavior
The entire terminal buffer flickers/re-renders on every streaming chunk, causing rapid screen flashing.
Workarounds Tested (None Worked)
terminal.integrated.gpuAcceleration: tried "on", "canvas", "off"
terminal.integrated.smoothScrolling: true
- Different shells (Git Bash, PowerShell)
- Various scrollback buffer sizes
Working Alternative
Running Claude Code in Windows Terminal (standalone app) works perfectly without flickering. This confirms the issue is specific to xterm.js renderer used in VS Code/Cursor.
Root Cause Hypothesis
Ink (React for CLI) appears to re-render the entire screen buffer on every streaming chunk instead of doing incremental updates. xterm.js handles this poorly compared to Windows Terminal's renderer.
Suggested Fix
- Implement incremental/partial screen updates instead of full re-renders
- Or provide a
--no-animation / --reduced-motion flag
- Or add a config option to disable animated streaming output
This significantly impacts usability for anyone using Claude Code within their IDE's integrated terminal.
Description
Claude Code causes severe screen flickering (~2-3 times per second) when running in VS Code/Cursor integrated terminal on Windows. The flickering is so intense it can trigger discomfort even for users without photosensitivity issues.
Environment
Steps to Reproduce
claudeand send any promptExpected Behavior
Smooth text streaming without full screen re-renders.
Actual Behavior
The entire terminal buffer flickers/re-renders on every streaming chunk, causing rapid screen flashing.
Workarounds Tested (None Worked)
terminal.integrated.gpuAcceleration: tried "on", "canvas", "off"terminal.integrated.smoothScrolling: trueWorking Alternative
Running Claude Code in Windows Terminal (standalone app) works perfectly without flickering. This confirms the issue is specific to xterm.js renderer used in VS Code/Cursor.
Root Cause Hypothesis
Ink (React for CLI) appears to re-render the entire screen buffer on every streaming chunk instead of doing incremental updates. xterm.js handles this poorly compared to Windows Terminal's renderer.
Suggested Fix
--no-animation/--reduced-motionflagThis significantly impacts usability for anyone using Claude Code within their IDE's integrated terminal.