Skip to content

Severe screen flickering in VS Code/Cursor integrated terminal on Windows #18084

@Samburskoy

Description

@Samburskoy

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

  1. Open VS Code or Cursor on Windows
  2. Open integrated terminal (Git Bash or PowerShell)
  3. Run claude and send any prompt
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleIssue is inactive

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions