Claude Code v2.1.114 — Native Launcher, Fullscreen TUI, /ultrareview, and 20 New Environment Variables#

Published on April 20, 2026

Part of the Claude Code Version Tracker series. | Official Env Vars | Official Changelog

Claude Code moved from v2.1.107 to v2.1.114 across seven releases, and this is the biggest stretch of user-visible wins in months[1]. Fullscreen TUI with flicker-free rendering (/tui fullscreen). Cloud-based PR review (/ultrareview). 1-hour prompt caching (ENABLE_PROMPT_CACHING_1H). Session recap when you come back from lunch. A dedicated xhigh effort level for Opus 4.7 with an interactive slider. The CLI now spawns a native binary instead of bundled JavaScript. And a pile of the small fixes that have been grinding on power users — clear errors on stalled subagents, clickable wrapped URLs, readline-compatible Ctrl+A/E in multiline input, glob patterns and cd <project> no longer prompting for permission. Under the hood, the binary gained 20 new environment variables and one new model snapshot (claude-opus-4-6-20251101) — the plumbing behind Agent Teams, a proxy auth helper subprocess, and a server-side Advisor tool.

What Changed#

v2.1.107v2.1.114
Environment variables230250 (+20)
Model IDs1617 (+1)
Feature gates4141
Dynamic configs2929
Slash commands2424

User-Facing Highlights#

Rendering and the TUI#

  • /tui fullscreen (v2.1.110) switches the current conversation into a flicker-free fullscreen mode. Combined with v2.1.113's native binary, this is the biggest rendering overhaul of the 2.1 line. autoScrollEnabled config lets you pin the viewport.
  • Shift+↑/↓ extends selection past the visible edge in fullscreen (v2.1.113) — a small thing that matters a lot when copying long tool output.
  • Ctrl+A / Ctrl+E now move to the start/end of the current logical line in multiline input, matching readline (v2.1.113). Ctrl+U clears the entire buffer, Ctrl+Y restores it (v2.1.111). Ctrl+L forces a full redraw. Windows Ctrl+Backspace deletes the previous word.
  • OSC 8 wrapped URLs stay clickable when they break across lines (v2.1.113) — no more "select, strip newline, paste" dance.
  • "Auto (match terminal)" theme (v2.1.111) picks dark/light from your terminal rather than Claude's own setting.
  • Fixes for iTerm2 + tmux tearing, washed-out 16-color palette over SSH/mosh (Ghostty, Kitty, Alacritty, WezTerm, foot, rio, Contour), garbled startup in macOS Terminal.app, missing cursor when NO_COLOR is set, and /help dropping its tab bar at short heights.

/ultrareview, /effort, and Opus 4.7 xhigh#

  • /ultrareview (v2.1.111) runs comprehensive code review in the cloud with parallel multi-agent analysis. No args reviews your current branch; /ultrareview <PR#> fetches and reviews a GitHub PR. v2.1.113 parallelized its checks, added a diffstat to the launch dialog, and gave it an animated launching state.
  • Opus 4.7 xhigh (v2.1.111) sits between high and max effort. /effort without arguments now opens an interactive slider with arrow-key navigation. Other models fall back to high when you pick xhigh.
  • Auto mode for Max subscribers with Opus 4.7 (v2.1.111), and auto mode no longer requires --enable-auto-mode.
  • v2.1.112 was a one-line hotfix for "claude-opus-4-7 is temporarily unavailable" in auto mode.

Prompt caching, context, and reliability#

  • ENABLE_PROMPT_CACHING_1H (v2.1.108) opts into 1-hour prompt cache TTL on API key, Bedrock, Vertex, and Foundry — the former ENABLE_PROMPT_CACHING_1H_BEDROCK is deprecated but still honored. FORCE_PROMPT_CACHING_5M forces the 5-minute TTL. Subscribers who set DISABLE_TELEMETRY no longer fall back to 5-minute TTL when they should be getting the hour.
  • Session recap (v2.1.108) — returning to a long session now gets an automatic catch-up summary, manually invokable with /recap. Extended to telemetry-disabled users (Bedrock, Vertex, Foundry) in v2.1.110.
  • Subagents that stall mid-stream now fail with a clear error after 10 minutes instead of hanging silently (v2.1.113) — tunable via the new CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS.
  • Non-streaming fallback retry cap from v2.1.110 was reverted in v2.1.111 — it traded long waits for outright failures during API overload, and users noticed.
  • Compacting a resumed long-context session no longer fails with "Extra usage is required for long context requests" (v2.1.113).
  • MCP concurrent-call timeout: a message for one tool call could silently disarm another call's watchdog. Fixed (v2.1.113).

Permissions and sandboxing#

  • Read-only Bash with glob patterns (e.g., ls *.ts) and commands starting with cd <project-dir> && no longer trigger permission prompts (v2.1.111). cd <current-directory> && git … is treated as a no-op and doesn't prompt either (v2.1.113).
  • /less-permission-prompts skill (v2.1.111) scans your transcripts for repeated read-only Bash and MCP calls and proposes a prioritized allowlist for .claude/settings.json.
  • Security hardening (v2.1.113): /private/{etc,var,tmp,home} on macOS are now dangerous removal targets under Bash(rm:*); deny rules match commands wrapped in env/sudo/watch/ionice/setsid; Bash(find:*) allows no longer auto-approve -exec/-delete; Bash dangerouslyDisableSandbox no longer silently skipped the permission prompt.
  • sandbox.network.deniedDomains setting (v2.1.113) blocks specific domains even when a broader wildcard allowedDomains rule would permit them.
  • Open in editor hardened against command injection from untrusted filenames (v2.1.110).

Remote Control, SDK, and observability#

  • Remote Control parity/context, /exit, /reload-plugins, @-file autocomplete, /extra-usage, and subagent transcript streaming all now work from mobile/web clients.
  • Push notification tool (v2.1.110) — Claude can send mobile push notifications when Remote Control and "Push when Claude decides" are enabled.
  • SDK/headless distributed tracingTRACEPARENT/TRACESTATE are read from the environment and stitched into spans (v2.1.110).
  • OTEL_LOG_RAW_API_BODIES (v2.1.111) emits full request/response bodies as OpenTelemetry log events for debugging.
  • Headless --output-format stream-json now includes plugin_errors on the init event when plugins are demoted.

Agent behavior and ergonomics#

  • Plan files named after your prompt (v2.1.111) — fix-auth-race-snug-otter.md instead of "two random words". Small, delightful.
  • Model can discover and invoke built-in slash commands like /init, /review, /security-review via the Skill tool (v2.1.108).
  • /model warns before switching mid-conversation (v2.1.108) — the next response re-reads history uncached.
  • /resume picker defaults to current directory, Ctrl+A shows all projects (v2.1.108). --resume/--continue now resurrect unexpired scheduled tasks (v2.1.110).
  • Typo suggestionsclaude udpate now prompts "Did you mean claude update?" (v2.1.111).
  • LSP diagnostics from before an edit no longer appear after it (v2.1.111) — fixed the nasty bug where the model would re-read a file it had just edited.
  • @ file suggestions no longer re-scan the entire project every turn in non-git directories (v2.1.111).
  • v2.1.114's lone entry: fixed a crash in the permission dialog when an Agent Teams teammate requested tool permission.

Windows-specific#

  • PowerShell tool progressively rolling out; opt in with CLAUDE_CODE_USE_POWERSHELL_TOOL (v2.1.111 — also available on Linux/macOS if pwsh is on PATH).
  • CLAUDE_ENV_FILE and SessionStart hook env files now apply on Windows (previously no-op).
  • Drive-letter paths in permission rules are now root-anchored and case-insensitive for the drive letter.

New Environment Variables#

VariableLikely Purpose
CLAUDE_CODE_REPLBoolean toggle for the new native REPL path introduced in v2.1.113. Forces on or off regardless of entrypoint detection. The escape hatch for users who want to pin themselves to the old JS launcher while native-binary bugs shake out.
CLAUDE_REPL_VARIANTSelects which REPL implementation to load. Multiple variants coexist in the native binary; this key lets Anthropic A/B-test REPL behavior without separate builds.
CLAUDE_CODE_DECSTBMEnables use of DECSTBM (VT100 Set Top and Bottom Margins) for scrolling regions in the TUI. This is the mechanism behind v2.1.110's flicker-free fullscreen rendering — it lets the terminal pin a header and input while the middle region scrolls. Falls back to the tengu_marlin_porch gate when unset.
CLAUDE_CODE_BS_AS_CTRL_BACKSPACETreats a bare backspace keypress as Ctrl+Backspace (delete-word). Default heuristic: on Windows unless the terminal is mintty or cygwin. Exists because Windows terminals report modifier keys inconsistently and the default is surprising enough to need an escape hatch.
CLAUDE_CODE_TUI_JUST_SWITCHEDSet to "fullscreen" immediately after the user runs /tui fullscreen. The next render reads this value to show a one-time hint confirming the switch, then clears the flag. The mechanism behind the smooth "just switched" onboarding moment.
CLAUDE_CODE_FORCE_FULLSCREEN_UPSELLForces the fullscreen TUI upsell prompt to appear even past the normal fullscreenUpsellSeenCount cap and the tengu_ochre_hollow gate. Internal test/demo affordance.
CLAUDE_CODE_ENABLE_PROXY_AUTH_HELPERMust be set to "1" to enable the proxy auth helper subsystem. Lets Claude Code shell out to an external program to fetch proxy credentials dynamically — for Kerberos/Negotiate, rotating tokens, or interactive SSO.
CLAUDE_CODE_PROXY_AUTH_HELPER_TTL_MSCache TTL for credentials returned by the proxy auth helper. Parsed as integer milliseconds; zero or negative falls back to default. Helpers can be expensive to invoke (interactive prompts, network calls), so results are cached.
CLAUDE_CODE_PROXY_URLFull proxy URL, injected into the auth helper subprocess's environment. Namespaced (CLAUDE_CODE_) because the helper protocol is Claude-specific and must not collide with standard HTTPS_PROXY.
CLAUDE_CODE_PROXY_HOSTProxy hostname, passed alongside the URL so helpers that route credentials by hostname (common in corporate environments with multiple proxies) don't need to re-parse.
CLAUDE_CODE_PROXY_AUTHENTICATECarries the WWW-Authenticate challenge from the proxy into the helper subprocess. Lets helpers implement challenge-response schemes by reading what the proxy actually asked for.
CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MSDefault 600,000ms (10 minutes). Directly backs v2.1.113's "subagents that stall mid-stream now fail with a clear error after 10 minutes" changelog bullet. Tune this up for long-running research tasks, down for tight CI.
CLAUDE_BG_BACKENDSet to "daemon" to route background work through a daemon backend instead of the default in-process implementation. The code path is wrapped around EIO/EPIPE error handling, suggesting pipe/socket IPC with graceful degradation. First evidence of a long-running daemon in the Claude Code architecture.
CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESHEnables automatic background refresh when the runtime detects plugins need updating. Without this, plugin refresh is synchronous and can delay session startup. With it, refresh moves off the critical path — prep for plugins that change more frequently.
CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPTAuthorizes SDK callers to append a custom string to a subagent's system prompt via options.appendSubagentSystemPrompt. Without this flag, the option is ignored. Capability gate for internal tooling and specific enterprise customers.
CLAUDE_CODE_ENABLE_EXPERIMENTAL_ADVISOR_TOOLEnables the experimental Advisor Tool — a server-side tool with its own advisorModel config option. Requires first-party auth; falls back to the tengu_sage_compass2 gate. The "Sage" / "Compass" codenames have previously appeared for deep-research capabilities, so this is the in-session interface to that reasoning surface.
CLAUDE_API_SKILL_DESCRIPTIONRegistration hook for the built-in "claude-api" skill that bundles Anthropic SDK documentation (Python, TypeScript, Java, Go, Ruby, PHP, C#, curl) plus shared references on models, prompt caching, managed agents, and tool use. Overrides the default skill description. This is how Claude Code stays current on SDK code without relying on stale model training.
CLAUDE_CODE_SYSTEM_PROMPT_GB_FEATURENames a GrowthBook feature flag whose value overrides the system prompt — but only when CLAUDE_CODE_REMOTE is set. Anthropic can A/B-test remote-session prompts without shipping new binaries, while local sessions stay on the stable prompt.
CLAUDE_INTERNAL_ASSISTANT_TEAM_NAMEPasses the current Agent Teams team name (prefixed assistant-) to a spawned child process. Agent Teams surfaces in the binary with the string "Agent Teams is not yet available on your plan" and "Teammates cannot spawn other teammates" — this variable propagates team identity across process boundaries. Backs v2.1.114's fix for the teammate permission-dialog crash.
CLAUDE_SLOW_FIRST_BYTE_MSDefault 30,000ms. Logs a "Slow first byte: no stream chunk" observability event when the API connection opens but produces no stream chunks within this window. Complements v2.1.107's byte watchdog with a lighter-touch signal before the harder stream-abort fires.

What These Tell Us#

The native binary transition rewrote the launcher layer, and the TUI wins flow from it. Five variables (CLAUDE_CODE_REPL, CLAUDE_REPL_VARIANT, CLAUDE_CODE_DECSTBM, CLAUDE_CODE_BS_AS_CTRL_BACKSPACE, CLAUDE_CODE_TUI_JUST_SWITCHED) trace v2.1.113's cutover from a JavaScript launcher to a native per-platform binary. DECSTBM is what makes fullscreen mode flicker-free; the REPL variants let Anthropic ship A/B experiments in the native runtime without separate builds; the TUI_JUST_SWITCHED signal is the thin wire that makes /tui fullscreen feel guided. The readline-compatible Ctrl+A/E fix, Windows Ctrl+Backspace, and the long-URL-wrapping fix all sit on this new foundation. Expect more terminal-level polish that the Node.js launcher couldn't easily touch.

Proxy auth became a protocol, not a flag. Five variables (CLAUDE_CODE_ENABLE_PROXY_AUTH_HELPER, CLAUDE_CODE_PROXY_AUTH_HELPER_TTL_MS, CLAUDE_CODE_PROXY_URL, CLAUDE_CODE_PROXY_HOST, CLAUDE_CODE_PROXY_AUTHENTICATE) define a helper-subprocess contract: Claude Code invokes a configured external program, passes it the proxy URL, host, and WWW-Authenticate challenge, reads credentials from stdout, caches the result. Corporate Kerberos/Negotiate, rotating tokens, and interactive SSO can now all be handled by a customer-written helper. Combined with v2.1.104's OS CA trust default and v2.1.113's sandbox.network.deniedDomains, the enterprise deployment story is being systematically closed out.

Agent Teams is real, and the infrastructure to support it is shipping alongside. CLAUDE_INTERNAL_ASSISTANT_TEAM_NAME, CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT, CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS, and CLAUDE_BG_BACKEND describe a multi-agent orchestration layer with stall detection, a daemon backend option, and team identity propagation. The binary explicitly enforces a two-level hierarchy ("Teammates cannot spawn other teammates"). v2.1.114's single changelog bullet — a crash fix in the teammate permission dialog — is the first user-visible surface of this. The Advisor Tool (gated by sage_compass2) plugs a server-side reasoning model into the teammate workflow. Claude Code is moving from an interactive pair programmer toward an agent platform where delegated, concurrent work is the default.

Every release is quietly compounding on QoL. Read the v2.1.113 notes end to end and the pattern is unmistakable — dozens of small fixes (emoji toast counts, /insights EBUSY on Windows, markdown tables with pipes in code spans, /copy not aligning columns for Notion, queued messages appearing twice) plus targeted security hardening plus two or three flagship features. The seven-release stretch from v2.1.108 to v2.1.114 ships three flagship features (fullscreen TUI, /ultrareview, 1-hour prompt caching), an architecture migration (native binary), and roughly 80 individually-named fixes. This is what mature developer-tool velocity looks like.

Sources#

  1. Claude Code Official Changelog — v2.1.108, v2.1.109, v2.1.110, v2.1.111, v2.1.112, v2.1.113, v2.1.114 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: Context Window Management Guide | Claude Code Productivity Tips | The Agentic Engineering Playbook