Claude Code v2.1.88 — 7 New Environment Variables: Mouse Control, REPL Mode, and Flicker-Free Rendering#
Published on March 30, 2026
Part of the Claude Code Version Tracker series. | Official Env Vars | Official Changelog
Claude Code v2.1.88 adds 7 new environment variables and removes 3, for a net gain of 4 since v2.1.86. The additions reveal two distinct tracks: a set of terminal rendering controls (mouse input, scroll speed, flicker elimination) and the emergence of a REPL mode that could reshape how developers interact with Claude Code in scripting workflows.
What Changed#
| v2.1.86 | v2.1.88 | |
|---|---|---|
| Environment variables | 204 | 208 (+4 net) |
New Environment Variables#
| Variable | Likely Purpose |
|---|---|
CLAUDE_CODE_NO_FLICKER | Enables flicker-free alternate-screen rendering. The changelog[1] explicitly documents this as CLAUDE_CODE_NO_FLICKER=1. Terminal rendering in Claude Code uses an alt-screen buffer that can flicker on certain emulators during rapid redraws — this flag likely switches to a double-buffered or incremental rendering strategy that eliminates visible tearing. Particularly useful in terminal multiplexers like tmux and screen where redraw artifacts are more common. |
CLAUDE_CODE_DISABLE_MOUSE | Disables all mouse input handling in the terminal UI. Claude Code captures mouse events for interactive elements like clickable buttons and text selection, but this can interfere with the terminal emulator's native mouse behavior — copy-paste via mouse selection, right-click context menus, and scroll-to-history. This flag gives users a clean escape when mouse capture causes more friction than it solves. |
CLAUDE_CODE_DISABLE_MOUSE_CLICKS | A more surgical variant of CLAUDE_CODE_DISABLE_MOUSE — disables only click handling while presumably preserving other mouse events like scroll. This distinction matters: some users want mouse wheel scrolling to work within Claude Code's output but don't want accidental clicks triggering actions. The two-tier approach mirrors how Vim handles mouse=a vs selective mouse modes. |
CLAUDE_CODE_SCROLL_SPEED | Controls the scroll speed within the terminal UI. Default scroll behavior in terminal applications is typically one line per scroll event, which can feel sluggish when reviewing long tool outputs or code diffs. This variable likely accepts a numeric multiplier, letting users tune scroll responsiveness to match their workflow — fast scrolling for scanning output, slower for careful code review. |
CLAUDE_CODE_REPL | Activates or configures a REPL (Read-Eval-Print Loop) mode for Claude Code. Paired with CLAUDE_REPL_MODE, this suggests Claude Code is building a lightweight interactive mode distinct from the full conversational interface — potentially for quick one-shot evaluations, scripted pipelines, or embedding Claude Code as a programmable shell component. The REPL pattern would let developers pipe input, get structured output, and chain Claude Code into Unix-style workflows without managing full sessions. |
CLAUDE_REPL_MODE | Sets the operating mode for the REPL interface. This likely controls behavior such as output format (JSON vs plain text), verbosity level, or whether the REPL maintains conversation state between invocations. The removal of CLAUDE_REPL_MODE0 (a likely typo or prototype name) in the same release confirms this feature is being formalized — the naming was cleaned up as the implementation matured. |
CLAUDE_CODE_DISABLE_POLICY_SKILLS | Disables policy-enforced skills. Skills in Claude Code are specialized prompt-driven capabilities (like /commit or /review-pr) that can be configured at the organization level. This flag likely lets administrators or advanced users suppress skills that were pushed via managed settings or policy, useful for debugging when a policy-injected skill interferes with a workflow, or for CI environments where policy skills add unwanted overhead. |
What These Tell Us#
Terminal UX is getting serious attention. Four of the seven new variables — mouse controls, scroll speed, and flicker-free rendering — address the physical experience of using Claude Code in a terminal. As sessions grow longer (the changelog[1] mentions memory leak fixes for sessions handling files over 1 GiB), the terminal becomes a bottleneck. Mouse capture that breaks copy-paste, flickering during rapid output, and sluggish scrolling through large diffs are the kind of paper cuts that drive power users to workarounds. The granularity is notable: rather than a single "compatibility mode" toggle, Anthropic is exposing individual controls, which suggests these were driven by specific bug reports from users running diverse terminal setups — iTerm2, Windows Terminal, Alacritty, tmux, and others that each handle mouse events and screen drawing differently.
REPL mode signals a new interaction model. The CLAUDE_CODE_REPL and CLAUDE_REPL_MODE pair is the most architecturally interesting addition. Claude Code today is session-oriented: you start a conversation, interact, and the context accumulates. A REPL mode would break that mold — quick, stateless (or lightly stateful) interactions that fit into shell scripts and automation chains. Combined with the PermissionDenied hook mentioned in the changelog (which allows model retry after auto-mode denials), this points toward Claude Code becoming more embeddable: a tool you call from other tools, not just a standalone application.
v2.1.87 and v2.1.88 are a paired release. v2.1.87 was a single-fix patch for Cowork Dispatch message delivery[1], followed immediately by v2.1.88 with a large batch of fixes including prompt cache misses, structured output schema bugs, and memory leaks. The pattern suggests v2.1.87 was a hotfix for a blocking multi-agent issue, while v2.1.88 is the planned stability release. The changelog lists thinking summaries no longer being generated by default in interactive sessions — a subtle but meaningful change to token economics, since generating and transmitting thinking summaries consumed output tokens even when users didn't need them.
Removed Environment Variables#
| Variable | Notes |
|---|---|
CLAUDE_CODE_FORCE_GLOBAL_CACHE | Previously forced use of a global cache directory. Likely superseded by improved cache management that no longer needs a manual override. |
CLAUDE_CODE_SEARCH_HINTS_IN_LIST | Controlled whether search hints appeared in list views. The feature was probably either made default or removed as the UI evolved. |
CLAUDE_REPL_MODE0 | Prototype naming for the REPL mode configuration. Replaced by the properly named CLAUDE_REPL_MODE in this release. |
Sources#
- Claude Code Official Changelog — v2.1.87 and v2.1.88 release notes
This analysis is conducted for independent security research and interoperability purposes under fair use principles. All trademarks belong to their respective owners. The information presented here documents publicly observable behavior of installed software and is not intended to circumvent any technological protection measures, infringe on intellectual property rights, or encourage unauthorized use. Use these findings at your own discretion.
Related Versions#
- Claude Code v2.1.86 — 2 New Environment Variables — trusted device tokens, OAuth console override
- Claude Code v2.1.85 — 6 New Environment Variables — MCP server config, yoga-layout removal, OAuth endpoint overrides
- Claude Code v2.1.84 — 6 New Environment Variables — idle management, PowerShell tool, Bedrock parity
- Claude Code v2.1.83 — 8 New Environment Variables — managed-settings.d/, transcript search, 40+ fixes
- Claude Code v2.1.81 — 1 New Environment Variable —
--bareflag, concurrent OAuth fix
Related: Context Window Management Guide | Claude Code Productivity Tips | The Agentic Engineering Playbook