Fundamentals 6 min read

Mouse Clicks in the Terminal: Claude Code’s New NO_FLICKER Rendering Mode

Claude Code’s NO_FLICKER mode eliminates terminal flicker, stabilizes memory and CPU usage, and adds mouse interactions such as cursor positioning, URL opening, and text selection, while requiring version v2.1.89+, with trade‑offs like lost Cmd+F search and tmux‑CC incompatibility.

Node.js Tech Stack
Node.js Tech Stack
Node.js Tech Stack
Mouse Clicks in the Terminal: Claude Code’s New NO_FLICKER Rendering Mode

Long conversations in Claude Code’s terminal UI have caused flickering, cursor jumps, growing memory usage, and unstable CPU load, a problem repeatedly reported by users.

Author Boris Cherny announced a new rendering mode called NO_FLICKER . It can be enabled with a single command: CLAUDE_CODE_NO_FLICKER=1 claude To make it permanent, add export CLAUDE_CODE_NO_FLICKER=1 to ~/.zshrc or ~/.bashrc. The mode requires Claude Code v2.1.89 or later and is still in research preview.

The new renderer replaces the previous approach of appending output to the terminal’s normal scrollback buffer with an alternate screen buffer —the same technique used by vim and htop. Instead of sending the full output each update, the renderer virtualizes the viewport and only transmits changed regions, reducing the amount of ANSI escape data that must be processed.

Practical effects observed by users include:

Input line stays fixed at the bottom of the screen.

No more flickering or jumping.

Memory usage remains constant regardless of conversation length.

CPU usage becomes more stable.

The most surprising addition is full mouse support. Users can now:

Click anywhere in the input area to move the cursor directly.

Click collapsed tool output to expand details.

Click URLs or file paths (e.g., http://, https://) to open them in the default browser.

Drag‑select text; releasing the mouse automatically copies the selection to the clipboard, with double‑click selecting a word and triple‑click selecting a line.

Scroll through conversation history with the mouse wheel combined with PgUp / PgDn, or jump to the top/bottom with Ctrl+Home / Ctrl+End.

The mode has trade‑offs. Because output resides in the alternate screen buffer, the terminal’s native scrollback search ( Cmd+F) no longer works. Users must enter transcript mode with Ctrl+O and then search using /, or press [ to dump the full conversation to the normal scrollback before using Cmd+F. Mouse‑driven selection replaces the native copy‑paste mechanism; those who rely on tmux copy mode or Kitty hints can disable mouse capture with CLAUDE_CODE_DISABLE_MOUSE=1. Additionally, the feature is incompatible with tmux’s -CC integration mode; regular tmux works if set -g mouse on is enabled in ~/.tmux.conf.

Community response has been positive about the mouse enhancements but still emphasizes the need for a stable base experience. As user Curt Tigges put it, “please at least fix the uncontrollable scrolling/flickering before the next 3000 features.” Boris acknowledges the early‑stage trade‑offs and notes that internal testing shows most users prefer the new renderer, with ongoing iteration based on feedback.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

ANSI escape codesClaude Codealternate screen buffermouse supportNO_FLICKERterminal rendering
Node.js Tech Stack
Written by

Node.js Tech Stack

Focused on sharing AI, programming, and overseas expansion

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.