Symptom
The VS Code integrated terminal draws wrong. You see one of these:
- Ghost characters that stay on screen after the line scrolls.
- Blank or black rows in the middle of output.
- A cursor that smears or lands in the wrong column.
- Text that only repaints when you resize the panel.
An external terminal shows the same command correctly. That is the tell: the shell is fine, the renderer is not.
Cause
The integrated terminal draws with WebGL by default. On some GPU and driver combinations the WebGL renderer corrupts the character grid. On my Mac it appears after the laptop wakes from sleep or after an external display is connected.
Fix
Open settings.json and add one line:
{
"terminal.integrated.gpuAcceleration": "off"
}
Then reload the window. Use the command palette and run Developer: Reload Window. New terminals use the DOM renderer.
What this costs
The DOM renderer is slower. On very fast output, such as a large find or a verbose build log, scrolling stutters. For normal work the difference is not visible.
Other values
| Value | Renderer |
|---|---|
auto | Default. VS Code picks WebGL when it can. |
on | Force WebGL. |
off | Force the DOM renderer. |
Set auto again after a VS Code or GPU driver update, and see if the glitch is gone. It usually is.