Change8

v0.35.0

Gemini CLI
14 features17 fixes13 improvementscliextensionsmcptools

Summary

This release introduces significant new customization options, including user-configurable keyboard shortcuts and support for custom base URLs. Several Vim editing features have been added to the UI, alongside core stability fixes like improved API error retries and better process cleanup. Users will also notice better visibility into tool execution status with pending tool calls now being displayed.

New Features

  • Added customizable keyboard shortcuts via the CLI.
  • Enabled support for literal character keybindings and extended Kitty protocol keys in the CLI.
  • Introduced the ability to remove keybindings using a '-' prefix in the CLI.
  • Added support for defining supplemental admin policies via the --admin-policy flag.
  • Added Vim yank/paste functionality (y/p/P) using the unnamed register.
  • Enabled support for custom base URLs via environment variables.
  • Simplified subagent success UI and improved early termination display.
  • Implemented the SandboxManager interface and config schema.
  • Differentiated User-Agent for a2a-server and ACP clients.
  • Added display for pending and confirming tool calls.
  • Implemented an input blocker overlay in the browser during automation.
  • Added Clearcut instrumentation for AI credits billing events via telemetry.
  • Added a Google credentials provider for remote agents.
  • Enabled safe tools to execute concurrently.

Bug Fixes

  • Fixed cursor clamping to the last character after all NORMAL mode deletes in the UI.
  • Allowed scrolling keys to function correctly in copy mode (Ctrl+S selection mode).
  • Fixed cleanup issues related to /clear and /resume commands.
  • Fixed orphaned descendant processes being left behind on PTY abort in the core.
  • Fixed handling of EISDIR errors in robustRealpath function on Windows.
  • Fixed numerical routing enablement for API key users.
  • Preserved dynamic tool descriptions when resuming a session.
  • Silently retried API errors up to 3 times before halting the session.
  • Fixed inconsistencies with BeforeAgent/AfterAgent hooks.
  • Resolved skill uninstall failures when the skill name was updated.
  • Ensured user policies are loaded correctly when policyPaths is empty.
  • Secured argsPattern and reverted WEB_FETCH_TOOL_NAME escalation.
  • Fixed registration of themes to occur on extension load instead of start.
  • Resolved MCP tool FQN validation, schema export, and wildcard handling in subagents.
  • Validated the --model argument at startup in the CLI.
  • Handled policy ALLOW for exit_plan_mode correctly.
  • Fixed propagation of subagent context to the policy engine.

Improvements

  • Added missing Vim mode motions (X, ~, r, f/F/t/T, df/dt and friends) to the UI.
  • Enabled retry fetching for notifications.
  • Updated language detection in the core to use LSP 3.18 identifiers.
  • Parallelized user quota and experiments fetching during refreshAuth for performance.
  • Included initiationMethod in conversation interaction telemetry.
  • Implemented retry attempt telemetry for network-related retries.
  • Removed unnecessary OAuth check from handleFallback and cleaned up a stray file.
  • Removed unnecessary escapeRegex from policy pattern builders.
  • Allowed 'gemini-3.1' in the sensitive keyword linter.
  • Simplified UI for subagent success and improved early termination display.
  • Removed the legacy CoreToolScheduler.
  • Extracted ExecutionLifecycleService for tool backgrounding.
  • Do not show the /upgrade hint for Ultra users.

Related Documentation

Gemini CLI Documentation