Symptoms & Diagnosis
Git terminal flickering on macOS usually manifests as a sudden white or black flash across the terminal window. This typically occurs when you reach the end of a git log, attempt an invalid tab-completion, or use the backspace key at the start of a line.
The root cause is often the “Visual Bell” feature. Instead of playing a sound, macOS triggers a screen flash to alert the user of an error or boundary. While intended to be helpful, it often creates a disruptive strobe effect during intense Git workflows.
Another common cause is the interaction between the Git pager (usually less) and the terminal’s hardware acceleration. If your terminal emulator is struggling to render fast-scrolling text, you may see artifacts or rapid flickering.

Troubleshooting Guide
To resolve flickering, we need to address both the terminal settings and the Git configuration. Follow these steps to isolate and fix the issue.
Step 1: Disable the Visual Bell
Most macOS flickering is caused by the system’s accessibility settings or terminal preferences. Here is how to disable it in the default Terminal app:
| Application | Action to Take |
|---|---|
| macOS Terminal | Settings > Profiles > Advanced > Uncheck “Visual bell” |
| iTerm2 | Settings > Profiles > Terminal > Set “Silence terminal bell” to Checked |
Step 2: Update Git Pager Settings
Git uses less to display long outputs. If the screen flickers when you exit a log, try modifying the core.pager behavior. Run the following command in your terminal:
git config --global core.pager "less -F -X"
The -F flag tells less to quit if the output fits on one screen, and -X prevents the screen from clearing, which often eliminates the “flash” seen when closing Git logs.
Step 3: Disable GPU Acceleration (iTerm2 Users)
If you use iTerm2 and experience flickering while scrolling, the Metal renderer might be the culprit. You can toggle this to see if performance improves:
Go to iTerm2 > Settings > General > Magic and uncheck “Use GPU renderer.” Alternatively, use the shortcut Cmd + Opt + r to toggle it instantly.
Prevention
To prevent flickering from returning, keep your terminal emulator and macOS updated. Apple frequently releases patches for graphics driver issues that can affect terminal rendering performance.
Consistency in your shell configuration is also key. Ensure your .zshrc or .bash_profile does not contain conflicting “bell” commands like unsetopt beep if you have already disabled the bell in the GUI settings.
Finally, consider using a modern terminal emulator like Alacritty or Kitty if the native macOS Terminal continues to struggle with rendering large Git diffs. these tools are built specifically for high-performance text rendering.