Heads up This site is currently under heavy development.
← all tools
◆ AI Coding Agents

gemini-cli

v0.57.0 open-source

An open-source AI agent that brings the power of Gemini directly into your terminal.

Summary

gemini-cli is an open-source, Apache 2.0-licensed AI coding agent that connects a terminal session directly to Google's Gemini models, run as a command-line tool installed via npm, Homebrew, or npx. It's built for developers who work from the shell rather than an IDE, offering built-in tools for file operations, shell commands, and web fetching, plus MCP support for wiring in custom integrations. Beyond one-off coding tasks, it supports subagent orchestration, session export and replay, and a persistent auto-memory scratchpad for carrying context across sessions, features aimed at practitioners running longer or repeatable agent workflows rather than quick queries. The project moves fast and is clearly active: 762 contributors have made nearly 12,800 commits in the past year, with the latest of eleven tracked releases landing just two weeks ago.

An open-source AI agent that brings the power of Gemini directly into your terminal.

What gemini-cli answers

Does it work with editors other than a terminal-only workflow?

native integrations exist for Sublime Text and Emacs, and tool calls are prefixed so ACP-compliant IDEs can render them

Can I run agent tasks that don't need a live human at the keyboard?

shell command validation, a core tools allowlist, and enforced workspace trust support headless execution without a developer approving each step

What happens to state if a session gets interrupted or needs to move machines?

sessions can be exported to a file and re-imported elsewhere, and a manual session identifier can be set for reproducible replay or audit correlation

How do I know what an agent-to-agent call actually cost?

usage metadata is exposed for agent-to-agent interactions, giving visibility into token and resource consumption across calls

Can I hand off work to other agents instead of doing everything in one session?

local and remote subagent protocols run behind a shared agent protocol layer, covering orchestration on the same machine or against remote agents

Does it support authentication in a locked-down or air-gapped environment?

service identity authentication is supported for air-gapped deployments after an update to the auth library

all 11 features, with the evidence for each →

Features

11 capabilities across 5 areas · 1 backed by code, an API document or a real run

Built from everything we hold on gemini-cli — every release we have summarised, its product documentation and how that documentation has changed, its README, its command-line surface and API, and runs we performed ourselves. Dates are when we first saw a capability, not when the vendor introduced it.

Capability area
Agentic Task Execution 3 capabilities Gemini CLI can operate as an autonomous agent that takes multi-step actions on behalf of the user, including controlling a browser and iterating on tasks in real time. Users can steer the agent mid-execution and let the tool select the most suitable model automatically.
Real-time model steering documented Lets users send live guidance to the agent while it is mid-task, without interrupting and restarting the run. 1 other source · first seen Aug 2026

docs

  • Model steering (experimental) Model steering lets you provide real-time guidance and feedback to Gemini CLI while it is actively executing a task. This lets you correct course, add missing context, or skip unnecessary steps without having to stop and restart the agent. docs-480ae375ccbd · Aug 2026 · source
Automatic model selection shipped Automatically picks the most appropriate Gemini model for each task rather than requiring the user to choose. 1 release · first seen Jun 2026

release

  • Updates auto model-selection mode to use Gemini 3.5 Flash when the flag is enabled. v0.47.0 · Jun 2026 · source · release history
Browser agent shipped Lets the agent take control of a browser to complete web-based tasks without manual intervention. 1 release · first seen Jun 2026

release

  • Promotes browser agent out of experimental status (now generally available). v0.47.0 · Jun 2026 · source · release history
Automated Issue Triage and PR Generation 2 capabilities Gemini CLI includes LLM-driven automation for managing GitHub repositories, covering ingestion of new issues, comment-triggered re-triage, and automated pull request creation. These capabilities reduce manual developer toil on routine repository maintenance.
Caretaker triage orchestration shipped Automates GitHub issue triage end-to-end, including webhook ingestion, re-triage on new comments, and pre-close summaries. 4 releases · 1 other source · first seen Jul 2026

release

  • Adds a caretaker triage Cloud Run job workflow with LLM-driven orchestrator, prompt hill-climbing, and automatic pre-close commenting. v0.55.1 · Aug 2026 · source · release history
  • Adds issue comment handling and re-triage workflow in the caretaker ingestion pipeline. v0.55.1 · Aug 2026 · source · release history
  • Introduces a Cloud Run webhook ingestion service for the caretaker agent, enabling automated issue intake from GitHub. v0.55.1 · Aug 2026 · source · release history
  • Implements an LLM triage orchestrator for automated issue triage workflows. v0.53.0 · Jul 2026 · source · release history

docs

  • Announcements: v0.53.0 - 2026-07-28 Section titled “Announcements: v0.53.0 - 2026-07-28” Caretaker Triage Orchestration: Implemented an LLM triage orchestrator and container build setup #28345 @chadd28). docs-883bfa8de14f · Aug 2026 · source
PR-generator agent shipped Runs an automated agent that generates and submits pull requests by working through a bug-fixing loop against the codebase. 2 releases · first seen Aug 2026

release

  • Implements a PR-generator agent with an Antigravity runner, iterative bug-fixing state machine, Cloud Run job, Firestore dual-locking, and Workflows infrastructure. v0.55.1 · Aug 2026 · source · release history
  • Publishes workable spec events to a ready-for-code Pub/Sub topic from the caretaker pipeline. v0.55.1 · Aug 2026 · source · release history
Evaluation and Quality Measurement 2 capabilities Gemini CLI provides tooling to measure how well triage and other automated tasks perform, using offline judge runs, golden datasets, and coverage reporting. Results can be exported as JSON for integration into CI/CD pipelines.
Caretaker evaluation framework verified Measures triage quality offline by running a judge against a curated set of golden issues and persisting structured results. 2 releases · 6 other sources · first seen Aug 2026

release

  • Adds a caretaker evaluation framework with a judge runner, local golden issue collection, and Firestore sync tools for offline triage quality measurement. v0.55.1 · Aug 2026 · source · release history
  • Updates Firestore schema with error and pr_number fields for caretaker triage tracking. v0.55.1 · Aug 2026 · source · release history

command line

  • --to-firestore — Upload local JSONs to Firestore (Default) v0.55.1 · Aug 2026 · command-line history
  • --pr — Associated PR number (optional) v0.55.1 · Aug 2026 · command-line history
  • --save — Persist structured evaluation run results to disk under evals/triage/results/ (default: True, use --no-save to skip) v0.55.1 · Aug 2026 · command-line history
  • --owner — Repository owner v0.55.1 · Aug 2026 · command-line history
  • --repo — Repository name v0.55.1 · Aug 2026 · command-line history
  • --note — Optional description note for this evaluation run (saved in summary.json) v0.55.1 · Aug 2026 · command-line history
Evaluation inventory and coverage reporting shipped Lists available evaluation sources and reports coverage metrics across a codebase in a machine-readable format. 4 releases · 1 other source · first seen Jun 2026

release

  • Adds feat(evals) eval coverage report command for measuring evaluation coverage across the codebase. v0.55.1 · Aug 2026 · source · release history
  • Adds eval coverage report command to surface evaluation coverage metrics. v0.53.0 · Jul 2026 · source · release history
  • Adds new eval:inventory CLI command to enumerate and report on available eval sources. v0.49.0 · Jun 2026 · source · release history
  • Adds JSON output mode for eval:inventory, enabling machine-readable reporting for pipeline integration. v0.49.0 · Jun 2026 · source · release history

example

  • List available eval sources in a project in a CI pipeline — pipe structured output to other tools. gemini eval:inventory --output-format json v0.49.0 · Jun 2026 · source
Deployment and Infrastructure 2 capabilities Gemini CLI includes scripts and configurations for deploying its agent services to Google Cloud Platform and operating in restricted environments. This covers Cloud Run provisioning, air-gapped authentication, and a dual-locking job infrastructure for reliable execution.
Caretaker GCP deployment shipped Provisions and configures the caretaker agent services on GCP Cloud Run with a single deployment script. 1 release · first seen Aug 2026

release

  • Adds a GCP deployment script for caretaker agent services. v0.55.1 · Aug 2026 · source · release history
Air-gapped GDC authentication shipped Enables Gemini CLI to authenticate and operate inside isolated, air-gapped Google Distributed Cloud environments. 1 release · first seen Jun 2026

release

  • Supports GDC air-gapped Service Identity authentication after auth library update, enabling Gemini CLI use in isolated/air-gapped Google Distributed Cloud environments. v0.49.0 · Jun 2026 · source · release history
Tool Integration and Extensibility 2 capabilities Gemini CLI automatically discovers available tools and MCP integrations at startup and supports integration with the Antigravity runner for workflow migration. This makes it straightforward to extend the tool with additional capabilities or slot it into an existing pipeline.
Antigravity CLI integration shipped Provides CLI commands and documentation to integrate with the Antigravity runner and migrate existing workflows to it. 2 releases · first seen Jun 2026

release

  • Implements a PR-generator agent with an Antigravity runner, iterative bug-fixing state machine, Cloud Run job, Firestore dual-locking, and Workflows infrastructure. v0.55.1 · Aug 2026 · source · release history
  • Adds documentation and migration commands for the Antigravity CLI transition. v0.47.0 · Jun 2026 · source · release history
Tool registry discovery shipped Detects and registers available tools and MCP integrations automatically when the CLI starts. 2 releases · first seen Jul 2026

release

  • Adds tool registry discovery, enabling the CLI to find and enumerate registered tools automatically. v0.55.1 · Aug 2026 · source · release history
  • Adds tool registry discovery, enabling automatic detection and registration of available tools/MCP integrations. v0.50.0 · Jul 2026 · source · release history
Capability
Evidence

Lines in monospace are the tool's own words — help text parsed from its source, or an endpoint from its API document. Everything else is our summary of a dated release or documentation change, linked back to the source it came from.

Release history

  1. docs update Aug 26, 2026 · issue 008

    Gemini CLI gains Agent Skills — installable, on-demand expertise bundles with scoped discovery and session management commands

    └──▷ TRY IT
    Install a team-shared security-auditing skill from a Git repo into your workspace so every contributor picks it up via version control.
    $ gemini skills install https://github.com/user/security-audit-skill.git --scope workspace --consent
    Check which skills are active in the current session, including built-in ones, without verbose descriptions cluttering the output.
    $ gemini skills list --all
    • New gemini skills install <url|path> --consent CLI command installs a skill from a Git repository or local directory, with --scope user|workspace to control whether it is global or project-local.
    • New gemini skills list --all CLI command lists all discovered skills across every tier, including built-in skills normally hidden from output.
    • New gemini skills uninstall <name> --scope workspace CLI command removes an installed skill.
    • New /skills list [all] [nodesc] interactive session command shows discovered skills, with all to surface built-in skills and nodesc to suppress descriptions.
    • New /skills link <path> [--scope user|workspace] interactive session command links skills from an arbitrary local directory into the active session.
    +5 moreshow less
    • New /skills disable <name> and /skills enable <name> interactive session commands toggle individual skills without uninstalling them.
    • New /skills reload (alias /skills refresh) interactive session command rescans all discovery tiers and refreshes the skill list mid-session.
    • Agent Skills are discovered from four tiers in precedence order: built-in, extension, user (~/.gemini/skills/ or ~/.agents/skills/), and workspace (.gemini/skills/ or .agents/skills/), with workspace skills version-controllable for team sharing.
    • Adds the activate_skill tool — called automatically by the model when a task matches a skill's description — which injects the skill's SKILL.md and grants the agent read access to the skill's bundled assets.
    • Skills support an interoperable .agents/skills/ path alias so skill directories remain compatible across multiple AI tools beyond Gemini CLI.
  2. v0.57.0 Aug 25, 2026 · issue 008

    v0.57.0 adds eval validation and tool call formatting with failure summaries to gemini-cli.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.57.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.57.0
    • Adds a tool call formatter and integrates failure summaries into evals output, making it easier to diagnose which tool calls failed and why.
  3. v0.55.1 Aug 11, 2026 · issue -008

    gemini-cli v0.55.1 adds tool registry discovery, an eval coverage report command, and a suite of caretaker/PR-generator agent services.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.55.1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.55.1
    • Adds tool registry discovery (feat/tool registry discovery) so the CLI can locate and enumerate available tools automatically.
    • Adds eval coverage report command under feat(evals) to surface evaluation coverage metrics.
    • Adds caretaker Cloud Run webhook ingestion service for receiving and processing incoming events.
    • Adds caretaker egress Cloud Run service skeleton and an Octokit GitHub Action handler for outbound actions.
    • Adds caretaker triage worker with core foundational modules, main execution loop, LLM triage orchestrator, and container build.
    +7 moreshow less
    • Adds caretaker triage evaluation framework, judge runner, local golden issue collection, and Firestore sync tools.
    • Adds caretaker Cloud Run job workflow for triage and a GCP deployment script for caretaker agent services.
    • Adds caretaker Pub/Sub publishing of workable spec events to a ready-for-code topic.
    • Adds issue comment handling and re-triage workflow to the caretaker ingestion pipeline.
    • Adds caretaker Firestore schema fields error and pr_number for richer issue tracking.
    • Adds PR-generator agent with Antigravity agent runner, prompt templates, iterative bug-fixing state machine, Firestore concurrency dual-locking, environment config parser, command executor, Cloud Run job, Workflows definition, and Dockerfile.
    • Bumps google-auth-library to v10.9.0 for updated Google authentication support.
  4. v0.55.1 Aug 11, 2026 · issue 001

    gemini-cli v0.55.1 adds tool registry discovery, an eval coverage report command, and a suite of internal caretaker/triage automation services.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.55.1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.55.1
    • Adds tool registry discovery, enabling the CLI to automatically find and enumerate available tools at runtime.
    • Adds an eval coverage report command (feat(evals): add eval coverage report command) for measuring evaluation test coverage.
    • Implements a Cloud Run webhook ingestion service for the caretaker agent, enabling automated intake of GitHub events.
    • Adds a re-triage workflow with issue comment handling for the caretaker ingestion pipeline, so new comments can trigger fresh triage runs.
    • Implements an LLM-based triage orchestrator with prompt hill-climbing for automated GitHub issue classification.
    +12 moreshow less
    • Adds a triage evaluation framework and judge runner (feat(caretaker-evals)) for measuring and improving triage quality.
    • Adds local golden issue collection and Firestore sync tools for caretaker evaluation.
    • Adds a Cloud Run job entrypoint for running caretaker evals at scale.
    • Publishes a workable-spec event to a ready-for-code Pub/Sub topic when triage completes, enabling downstream automation.
    • Adds a GCP deployment script for caretaker agent services.
    • Updates the caretaker Firestore schema with error and pr_number fields.
    • Implements a Firestore dual-locking concurrency mechanism and test ingestion utilities for the PR-generator database.
    • Implements an Antigravity agent runner and prompt templates for the PR-generator agent.
    • Implements an iterative bug-fixing state machine and container worker entrypoint for the PR-generator orchestrator.
    • Configures Cloud Run job, Workflows definition, and Dockerfile for PR-generator infrastructure.
    • Adds environment config parser, command executor, and GitHub integration for the PR-generator core.
    • Updates the Vertex AI base URL, keeping Vertex AI auth paths current.
  5. v0.53.0 Jul 28, 2026 · issue -022

    gemini-cli v0.53.0 adds an eval coverage report command and an LLM triage orchestrator.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.53.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.53.0
    • Adds an eval coverage report command (feat(evals)) to measure and report evaluation coverage.
    • Implements an LLM triage orchestrator and container build for caretaker-triage workflows.
  6. v0.53.0 Jul 28, 2026 · issue 001

    gemini-cli v0.53.0 adds an eval coverage report command and an LLM triage orchestrator.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.53.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.53.0
    • Adds an eval coverage report command (via the evals package) to surface evaluation coverage metrics.
    • Implements an LLM triage orchestrator (caretaker-triage) with container build support for automated issue triage workflows.
  7. v0.50.0 Jul 8, 2026 · issue -042

    gemini-cli v0.50.0 adds tool registry discovery.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.50.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.50.0
    • Adds tool registry discovery capability.
  8. v0.49.0 Jun 25, 2026 · issue -055

    gemini-cli v0.49.0 adds GDC air-gapped auth support and a new eval:inventory command with JSON output.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.49.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.49.0
    └──▷ TRY IT
    Audit your eval inventory and pipe structured results into a downstream tool or script.
    $ gemini eval:inventory --json
    • Supports GDC air-gapped Service Identity authentication after auth library update.
    • Adds new eval:inventory CLI command for listing and reporting eval inventory.
    • Adds JSON output mode for eval:inventory results.
    • Adds static eval source analyzer for evaluating CLI inputs.
  9. v0.47.0 Jun 18, 2026 · issue -062

    gemini-cli v0.47.0 adds Antigravity CLI migration commands and promotes browser agent to stable.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.47.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.47.0
    • Adds documentation and migration commands for the Antigravity CLI.
    • Promotes browser agent out of experimental status.
    • Updates auto mode to use Gemini 3.5 Flash when the flag is enabled.
  10. v0.45.0 Jun 3, 2026 · issue -077

    gemini-cli v0.45.0 exposes A2A usage metadata and updates default auto routing.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.45.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.45.0
    • Exposes usage metadata for A2A (agent-to-agent) interactions, giving practitioners visibility into token and resource consumption across agent calls.
    • Updates default auto routing behavior for model selection.
  11. v0.44.0 May 27, 2026 · issue -084

    gemini-cli v0.44.0 adds unified Auto mode, Sublime Text/Emacs editor support, RAG debug logging, and new AgentSession invocation wiring.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.44.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.44.0
    • Merges multiple Auto modes into a single unified Auto mode, simplifying permission-level selection.
    • Adds Sublime Text and Emacs Client as supported external editors with improved error messages.
    • Exposes RAG snippets to the local log file for debugging retrieval-augmented generation context.
    • Adds adk.agentSessionSubagentEnabled flag to control agent session subagent behavior.
    • Introduces LocalSessionInvocation and RemoteSessionInvocation for agent session management.
    +3 moreshow less
    • Wires AgentSession invocations into the agent-tool, enabling session-based agent orchestration.
    • Changes agent registration to first-wins priority, with project-level agents taking precedence.
    • Adds agent-tui and tui-tester skills for agent terminal UI testing.
  12. v0.43.0 May 22, 2026 · issue -089

    gemini-cli v0.43.0 adds session export/import, machine hostname display, shell safety evals, and new subagent protocols.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.43.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.43.0
    • Adds session export to file and import via flag, enabling portable session handoff and replay.
    • Displays machine hostname in the CLI interface for easier identification in multi-host workflows.
    • Adds shell command safety evaluations to assess risky command patterns.
    • Introduces LocalSubagentProtocol behind AgentProtocol for local subagent orchestration.
    • Introduces RemoteSubagentProtocol behind AgentProtocol for remote subagent orchestration.
    +4 moreshow less
    • Prefixes tool call IDs with tool names to support tool rendering in ACP-compliant IDEs.
    • Introduces an adaptive token calculator for more accurate content size estimation in context management.
    • Enables NumericalRouter when using dynamic model configs for smarter model routing.
    • Improves context snapshotter with enhancements to snapshot handling.
  13. v0.42.0 May 12, 2026 · issue -099

    gemini-cli v0.42.0 adds session deletion, voice mode UX, Gemma 4 models, auto memory, and several new CLI subcommands.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.42.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.42.0
    └──▷ TRY IT
    Exit and simultaneously delete the current session to clean up session state — useful in CI or scripted workflows.
    $ gemini /exit --delete
    List all available slash commands at any point in a session to discover what's usable.
    $ gemini /commands list
    Uninstall an extension using the new delete alias instead of the longer uninstall subcommand.
    $ gemini /extensions delete <extension-name>
    • Adds --delete flag to the /exit command to delete the current session on exit.
    • Adds list subcommand to /commands for discovering available commands.
    • Adds delete as an alias for /extensions uninstall to remove extensions.
    • Enables Gemma 4 models by default via the Gemini API.
    • Adds microphone UI and updated placeholder for voice mode.
    +6 moreshow less
    • Adds wave animation visual feedback during voice mode.
    • Adds a privacy and compliance UX warning for the Gemini Live backend.
    • Adds Auto Memory inbox flow with a canonical-patch contract for persistent memory management.
    • Adds a minimal V8 heap snapshot utility for memory diagnostics.
    • Allows non-HTTPS proxy URLs to support container environments.
    • Respects logPrompts flag to control logging of sensitive fields.
  14. v0.41.0 May 5, 2026 · issue -106

    gemini-cli v0.41.0 adds real-time voice mode, Gemma 4 model support, persistent auto-memory, and enhanced shell command validation.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.41.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.41.0
    └──▷ TRY IT
    Pin a reproducible session UUID for audit logging or replay — pass the new flag to correlate CLI activity with external records.
    $ gemini --session-id <your-uuid> 'Run a recon summary on <target>'
    • New real-time voice mode with both cloud and local backends for hands-free interaction.
    • Adds support for Gemma 4 models (experimental) as an available model choice.
    • Persistent auto-memory scratchpad enables skill extraction across sessions.
    • Enhanced shell command validation and a new core tools allowlist for tighter execution control.
    • Secure .env loading and enforced workspace trust in headless mode.
    +4 moreshow less
    • New ContextManager and AgentChatHistory wired up for improved context handling.
    • Supports boolean and number type casting for environment variables in settings.json.
    • Allows providing a manual session UUID via command-line argument.
    • Boot performance improved by fetching experiments and quota asynchronously.
  15. v0.40.0 Apr 28, 2026 · issue -113

    gemini-cli v0.40.0 adds local Gemma setup, MCP resource tools, offline ripgrep, Vertex routing, trace telemetry, and new themes

    └──▷ GET THIS VERSION
    $ git clone --branch v0.40.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.40.0
    └──▷ TRY IT
    Set up a local Gemma model for offline/private inference without leaving the CLI
    $ gemini gemma
    • Adds gemini gemma subcommand for streamlined local Gemma model setup
    • Adds tools to list and read MCP resources directly from the CLI
    • Bundles ripgrep binaries into the SEA build for offline grep support
    • Adds settings for Vertex AI request routing
    • Adds --traces flag (or equivalent) to enable OpenTelemetry traces specifically
    +6 moreshow less
    • Adds GitHub colorblind themes to the theme selector
    • Adds /new as an alias for /clear to start a fresh session
    • Adds .mdx file support to the get-internal-docs tool
    • Splits memoryManager config flag into autoMemory for finer memory control
    • Uses OSC 777 escape sequences for terminal task-completion notifications
    • Detects newly created files in @ file recommendations via filesystem watcher
    └──▷ BREAKING ON UPGRADE
    • !The memoryManager config flag is split into autoMemory; existing configs using memoryManager will need to be updated.
  16. v0.39.0 Apr 23, 2026 · issue -118

    gemini-cli v0.39.0 adds /memory inbox skill review, invoke_subagent unification, Plan Mode confirmation, and scroll momentum enhancements.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.39.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.39.0
    └──▷ TRY IT
    Review and approve extracted memory skills before they are activated, preventing unintended skill updates.
    $ /memory inbox
    Configure an MCP server in an agent definition with an auth block for authenticated tool access.
    json
    {
      "mcpServers": {
        "my-server": {
          "url": "https://my-mcp-server.example.com",
          "auth": {
            "type": "bearer",
            "token": "<your-token>"
          }
        }
      }
    }
    • Adds /memory inbox command for reviewing and patching extracted skills, including skill patching support with inbox integration.
    • Introduces unified invoke_subagent tool, consolidating subagent invocation under a single interface.
    • Requires user confirmation for activate_skill actions in Plan Mode, adding a safety gate before skill activation.
    • Implements silent fallback for Plan Mode model routing when the preferred model is unavailable.
    • Adds useAgentStream hook and wires it into AppContainer for streaming agent responses.
    +13 moreshow less
    • Implements tool-controlled display protocol (Steps 2-3) for agent UI rendering.
    • Migrates chat recording to JSONL streaming format.
    • Introduces decoupled ContextManager and Sidecar architecture in core.
    • Adds Strategic Re-evaluation guidance to the system prompt.
    • Persists subagent agentId in tool call records for better traceability.
    • Supports auth block in MCP servers config within agents.
    • Adds scroll momentum enhancements to the terminal UI.
    • Adds debugRainbow optional debug setting in the UI.
    • Optimizes Windows sandbox initialization via native ACL application.
    • Refines shell tool description display logic.
    • Refines tool output formatting for compact mode.
    • Supports Ctrl+Shift+G keyboard shortcut.
    • Scrollbar now only shown in terminalBuffer mode.
  17. v0.38.0 Apr 14, 2026 · issue -127

    gemini-cli v0.38.0 adds background memory, context compression, persistent policy approvals, process monitoring, and richer UI controls.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.38.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.38.0
    └──▷ USE IT
    Enable non-interactive ADK agent sessions in CI or scripted pipelines where no TTY is present.
    json
    # In settings.json or gemini config:
    {
      "experimental": {
        "adk": {
          "agentSessionNoninteractiveEnabled": true
        }
      }
    }
    Check role-specific token usage (e.g. how many tokens the tool-use role consumed) for the current session.
    $ /stats
    Query an ACP-connected agent for its capabilities and version information without leaving the CLI.
    $ /about
    • Adds experimental.adk.agentSessionNoninteractiveEnabled config setting for non-interactive ADK agent sessions.
    • Introduces a background memory service for automatic skill extraction from sessions.
    • Adds a ContextCompressionService to automatically manage and compress long context windows.
    • Implements context-aware persistent policy approvals so users don't repeatedly confirm the same tool actions.
    • Implements background process monitoring and inspection tools for tracking long-running agent processes.
    +15 moreshow less
    • Supports default values for environment variables in CLI configuration.
    • Adds /about command support for ACP-connected agents.
    • Adds /help command for ACP-connected agents.
    • Adds role-specific token/usage metrics to the /stats command output.
    • Enables web_fetch in plan mode with user confirmation, expanding what agents can do without leaving plan mode.
    • Enables compact tool output by default, reducing visual noise in the terminal.
    • Adds a scrollbar to the input prompt for long multi-line inputs.
    • Introduces minimalist sandbox status labels in the UI.
    • Adds TerminalBuffer rendering mode to eliminate UI flicker.
    • Enhances tool confirmation UI with an improved selection layout.
    • Supports selective topic expansion and click-to-expand for conversation topic headers.
    • Displays hook system messages directly in the UI when hooks fire.
    • Adds an 'Other' free-text option for yes/no question prompts.
    • Scopes subagent workspace directories via AsyncLocalStorage for better isolation.
    • Changes default loadingPhrases to off, hiding loading tips by default.
    └──▷ BREAKING ON UPGRADE
    • !The default value of loadingPhrases is now off; users who relied on loading tips/phrases appearing by default will no longer see them without explicitly enabling the setting.
  18. v0.37.0 Apr 8, 2026 · issue -133

    gemini-cli v0.37.0 adds sandbox lockdown, persistent browser sessions, cross-platform notifications, new skills, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.37.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.37.0
    • Adds maxActionsPerTask setting for the browser agent to cap the number of actions per task.
    • Adds a CI skill for automated failure replication.
    • Implements forbiddenPaths for OS-specific sandbox managers to block access to sensitive filesystem paths.
    • Supports inline agentCardJson string literal for configuring remote agents without a separate file.
    • Adds experiment-gated support for Gemini Flash 3.1 Lite model.
    +15 moreshow less
    • Adds a new skill to detect duplicated code while reviewing PRs.
    • Enables cross-platform notifications via terminal bell fallback.
    • Implements secret visibility lockdown for env files in the sandbox.
    • Implements persistent browser session management across tasks.
    • Adds forbiddenPaths to GlobalSandboxOptions for centralized sandbox path restriction.
    • Implements dynamic Linux sandbox expansion with worktree support.
    • Implements Windows sandbox dynamic expansion and denial detection.
    • Adds a debug command.
    • Adds configurable memoryBoundaryMarkers setting for context management.
    • Enables network access configuration in sandbox settings.
    • Implements AgentHistoryProvider for tracking agent execution history.
    • Adds subagent isolation and cleanup hardening.
    • Defines TrajectoryProvider interface for agent trajectory tracking.
    • Browser agent now dynamically discovers read-only tools at runtime.
    • Adds development worker infrastructure for GCP.
  19. v0.36.0 Apr 1, 2026 · issue -140

    gemini-cli v0.36.0 adds Git worktree isolation, macOS/Windows sandboxing, admin-forced MCP installs, plan mode in CI, and major subagent enhancements.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.36.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.36.0
    └──▷ TRY IT
    Install an extension without modifying settings.json, useful in automated or shared environments.
    $ gemini extensions install <extension-name> --skip-settings
    • Adds Git worktree support for isolated parallel sessions, enabling concurrent agent runs without workspace conflicts.
    • Implements strict macOS sandboxing via Seatbelt allowlist to constrain subagent filesystem and process access.
    • Implements native Windows sandboxing for subagent tool isolation.
    • Adds support for admin-forced MCP server installations, allowing organizations to mandate specific MCP servers.
    • Supports plan mode in non-interactive (CI/batch) mode.
    +24 moreshow less
    • Introduces multi-registry architecture and per-subagent tool filtering.
    • Adds subagent local execution with tool isolation, keeping each subagent's tool access scoped.
    • Injects memory and JIT (just-in-time) context into subagents for richer, context-aware execution.
    • Adds resilient subagent tool rejection with contextual feedback when a tool is unavailable.
    • Adds --skip-settings flag to the extension install command.
    • Adds linking support in the extension registry.
    • Introduces AgentSession and renames stream events to agent events in the core API.
    • Adds token usage metadata to the ACP send method's return value.
    • Adds an experimental memory manager agent to replace the save_memory tool.
    • Adds a blocked status to tasks and todos in the task tracker.
    • Integrates the task tracker protocol into the core system prompt.
    • Adds an agent acknowledgment command and enhances registry discovery for agent-to-agent (A2A) communication.
    • Adds browser sensitive action controls and read-only noise reduction.
    • Adds a security prompt for the browser agent.
    • Adds a warning message when browser session mode is set to existing.
    • Adds browser privacy consent handling.
    • Adds dynamic model resolution to ModelConfigService.
    • Adds ModelChain support to ModelConfigService with a dynamic Model Dialog.
    • Formats multi-line banner warnings with a bold title in the UI.
    • Conditionally excludes the ask_user tool when running in ACP mode.
    • Adds onboarding telemetry.
    • Tracks whether a session is running inside a Git worktree via telemetry.
    • Refines the User-Agent string for VS Code traffic to a unified format.
    • Adds content-utils to core for shared content manipulation utilities.
  20. v0.35.0 Mar 24, 2026 · issue -148

    gemini-cli v0.35.0 adds customizable keyboard shortcuts, vim yank/paste, gRPC support, parallel tool execution, an --admin-policy flag, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.35.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.35.0
    └──▷ TRY IT
    Point gemini-cli at a self-hosted or proxy Gemini-compatible endpoint instead of the default Google API.
    $ GEMINI_BASE_URL=https://my-proxy.example.com/v1 gemini
    Unbind an existing shortcut (e.g. remove the default binding for Ctrl+R) using the - prefix in your keybindings config.
    json
    # In ~/.gemini/settings.json
    {
      "keybindings": {
        "-ctrl+r": ""
      }
    }
    • Adds customizable keyboard shortcuts, including support for literal character keybindings and extended Kitty protocol keys.
    • Supports removing keybindings via a - prefix in the keybinding configuration.
    • Adds missing vim mode motions: X, ~, r, f/F/t/T, df/dt and related commands.
    • Adds vim yank and paste (y/p/P) with an unnamed register.
    • New --admin-policy flag for supplying supplemental admin policies at startup.
    +14 moreshow less
    • Enables native gRPC support and protocol routing for A2A (agent-to-agent) communication.
    • Allows safe tools to execute concurrently while the agent is busy processing.
    • Implements a model-driven parallel tool scheduler for running multiple tool calls simultaneously.
    • Supports a custom base URL for the API via environment variables.
    • Displays pending and confirming tool calls in the UI.
    • Implements a SandboxManager interface and config schema for sandboxed execution.
    • Implements Stage 1 improvements to the webfetch tool.
    • Adds Google credentials provider for authenticating to remote agents.
    • Increases sub-agent turn and time limits.
    • Instruments file system tools for just-in-time context discovery.
    • Enables code splitting and deferred UI loading for faster startup.
    • Implements an input blocker overlay in the browser agent during automation.
    • Hides the /upgrade hint for Ultra-tier users.
    • Differentiates the User-Agent header for A2A-server and ACP clients.
  21. v0.34.0 Mar 17, 2026 · issue -155

    gemini-cli v0.34.0 adds LXC and gVisor sandboxing, tracker CRUD tools, loop detection, AI Gateway auth, and a custom footer command.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.34.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.34.0
    └──▷ TRY IT
    Connect to an AI Gateway-authenticated ACP endpoint instead of direct Gemini API access.
    $ gemini --acp
    • Adds experimental LXC container sandbox support for isolating agent execution.
    • Adds native gVisor (runsc) sandboxing support as a new sandbox backend.
    • Adds tracker CRUD tools and visualization for managing task tracking within sessions.
    • Implements iterative loop detection with model feedback to reduce repetitive agent loops.
    • Adds custom footer configuration via the /footer command.
    +9 moreshow less
    • Adds AI Gateway auth support for ACP connections.
    • Improves @file autocomplete to prioritize filenames for faster file referencing.
    • Ships an esbuild bundle in the npm package for faster installs and startup.
    • Implements a unified KeychainService and migrates token storage to it.
    • Adds concurrency safety guidance for subagent delegation in core.
    • Dynamically generates all keybinding hints in the UI.
    • Implements Clearcut logging for startup statistics in telemetry.
    • Adds fallback to Gemini 2.5 models when the current model lacks tool-call access.
    • Promotes --acp flag (previously --experimental-acp) to stable, removing the experimental prefix.
    └──▷ BREAKING ON UPGRADE
    • !The --experimental-acp flag is renamed to --acp; scripts using --experimental-acp will break.
  22. v0.33.0 Mar 11, 2026 · issue -160

    gemini-cli v0.33.0 adds HTTP auth for A2A agents, MCP OAuth, plan copy/annotation, GitHub issue skill, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.33.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.33.0
    └──▷ TRY IT
    Unassign a task or issue from within the CLI without leaving your workflow.
    $ /unassign
    • Adds github-issue-creator skill for creating GitHub issues directly from the CLI.
    • Implements HTTP authentication support for A2A remote agents.
    • Supports authenticated A2A agent card discovery.
    • Adds MCPOAuthProvider implementing the MCP SDK OAuthClientProvider for authenticated MCP servers.
    • Adds tool name validation in TOML policy files.
    +12 moreshow less
    • Enables 30-day default retention for chat history.
    • Supports annotating plans with feedback for iterative refinement.
    • Enables built-in research subagents in plan mode.
    • Adds copy subcommand to plan for duplicating plans.
    • Adds /unassign slash command support.
    • Adds set models interface to ACP.
    • Supports plan directory specification in extension manifests.
    • Inverts context window display to show token usage rather than remaining capacity.
    • Redesigns the header to be compact with an ASCII icon.
    • Adds dialog pattern UI for the /hooks command.
    • Introduces subagent activity UX for monitoring background agent work.
    • Directly indicates auth-required state for agents in the UI.
  23. v0.32.0 Mar 3, 2026 · issue -168

    gemini-cli v0.32.0 adds shell autocompletion, plan-mode editor support, a Gemma router, billing overage flow, and richer OTEL telemetry.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.32.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.32.0
    • Adds interactive shell autocompletion inside the CLI REPL.
    • Supports opening and modifying the plan in an external editor during plan approval.
    • Adapts the planning workflow based on task complexity, encouraging multi-select with option descriptions.
    • Adds a temporary flag to disable workspace policies.
    • Hides the workspace policy update dialog and auto-accepts by default.
    +17 moreshow less
    • Enables model steering in workspace context.
    • Introduces an experimental Gemma Router using a LiteRT-LM shim as a composite model classifier strategy.
    • Implements a task tracker foundation and service for tracking agent tasks.
    • Introduces Kind.Agent classification for sub-agent tools, with contiguous parallel admission.
    • Enables the generalist agent.
    • Improves A2A streaming reassembly and task continuity.
    • Improves A2A content extraction.
    • Loads extensions in parallel for faster startup.
    • Adds support for a policy engine in extensions.
    • Instruments OTEL traces with more attributes.
    • Implements G1 AI credits overage flow with billing telemetry.
    • Adds low/full CLI error verbosity mode for a cleaner UI.
    • Adds a Ctrl+O hint to truncated content messages in the UI.
    • Renames the grep_search tool's include parameter to include_pattern.
    • Plumbs the maxAttempts setting through config args.
    • Maps HTTP 499 to retryable quota errors.
    • Increases fetch timeout.
    └──▷ BREAKING ON UPGRADE
    • !The grep_search tool's include parameter is renamed to include_pattern.
  24. v0.31.0 Feb 27, 2026 · issue -171

    gemini-cli v0.31.0 adds MCP progress updates, OSC52 clipboard copy, plan mode storage config, deceptive URL detection, and Gemini 3.1 Pro support.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.31.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.31.0
    └──▷ USE IT
    Enable OSC52 clipboard copy so you can yank model output to your system clipboard even inside tmux or SSH sessions.
    json
    # In your gemini settings (e.g., settings.json or equivalent config)
    { "experimental": { "useOSC52Copy": true } }
    Store Plan Mode plans in a shared team directory instead of the default location.
    json
    # In your gemini config, set a custom plans storage directory
    { "plan": { "storageDirectory": "/path/to/team-plans" } }
    Browse and install extensions without leaving the CLI.
    $ /extensions explore
    • Adds gemini --resume hint on exit so users know how to pick up a previous session.
    • Adds Alt+D keyboard shortcut for forward word deletion in the input line.
    • Adds macOS run-event notifications (interactive sessions only) to alert when long tasks complete.
    • Adds MCP progress update support, surfacing real-time progress from Model Context Protocol servers.
    • Adds experimental in-progress steering hints, letting users redirect the model mid-task.
    +15 moreshow less
    • Adds /dir add directories to @-path autocomplete suggestions.
    • Adds experimental.useOSC52Copy setting to enable clipboard copy via OSC 52 terminal escape sequences.
    • Replaces the loading-phrases boolean with a new enum setting for finer control over loading phrase display.
    • Adds support for configuring a custom plans storage directory in Plan Mode.
    • Implements project-level policy support for controlling tool and behavior constraints per project.
    • Implements parallel function calling for read-only tools, improving throughput on multi-tool queries.
    • Adds /extensions explore command for browsing available extensions from within the CLI.
    • Adds numpad SS3 sequence support for terminals that emit SS3 escape codes for numpad keys.
    • Enhances folder trust with configuration discovery and security warnings when opening untrusted directories.
    • Improves startup warnings UX with dismissal support and show-count limits.
    • Adds API key authentication provider for Agent-to-Agent (A2A) connections.
    • Adds support for Gemini 3.1 Pro Preview model.
    • Detects and discloses deceptive URLs in tool confirmations to surface prompt-injection attempts.
    • Adds TrueColor detection and centralized terminal compatibility checks.
    • Adds ACP set_mode interface support for IDE integration mode switching.
  25. v0.30.0 Feb 25, 2026 · issue -173

    gemini-cli v0.30.0 adds a --policy flag, Ctrl-Z suspension, tool output masking, multi-line ask-user input, strict seatbelt profiles, and an initial SDK package.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.30.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.30.0
    └──▷ TRY IT
    Enforce a custom tool policy file on every invocation instead of using the deprecated --allowed-tools flag.
    $ gemini --policy ./my-policy.json
    Suspend a long-running gemini-cli session to the background to run another shell command, then resume.
    $ # Press Ctrl-Z inside an active gemini-cli session to suspend it
    # Then resume with:
    fg
    • Adds --policy flag for user-defined tool policies, replacing --allowed-tools and excludeTools.
    • Enables tool output masking by default to reduce sensitive data exposure in tool responses.
    • Supports multi-line text answers in the ask-user tool for richer interactive prompts.
    • Adds Ctrl-Z process suspension support for pausing and backgrounding the CLI.
    • Introduces strict seatbelt profiles for tighter sandbox enforcement.
    +15 moreshow less
    • Adds autoconfigure memory usage setting directly in the settings dialog.
    • Adds a setting to hide the shortcuts hint UI.
    • Introduces limits on search results to control context size.
    • Formalizes a 5-phase sequential planning workflow in Plan Mode.
    • Allows skills to be enabled in Plan Mode.
    • Updates internal utility models to Gemini 3.
    • Adds A2A value-resolver for auth credential resolution.
    • Enables 30-day session retention by default.
    • Adds text wrapping support for markdown tables in the terminal UI.
    • Adds a searchable list UI backing settings and extensions panels.
    • Shows a notification when an extension command conflicts with a built-in command.
    • Enables in-CLI extension management commands.
    • Bootstraps an initial SDK package with SessionContext support, dynamic system instructions, and custom skills.
    • Fallback to chat-base model automatically when an unrecognized model is specified for chat.
    • Adds admin controls documentation and policy overrides for Plan Mode.
    └──▷ BREAKING ON UPGRADE
    • !--allowed-tools and excludeTools are deprecated in favor of the policy engine; existing configurations relying on these flags will need to migrate to the --policy flag.
  26. v0.29.0 Feb 18, 2026 · issue -180

    gemini-cli v0.29.0 adds a /plan slash command, MCP admin allowlists, agent skill linking, Vim motions, and WebSocket network logging.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.29.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.29.0
    └──▷ TRY IT
    Enter plan mode before execution to review and edit the agent's proposed plan for a complex task.
    $ /plan Refactor the authentication module to use JWT tokens
    List all MCP servers permitted by the admin allowlist to audit what is available to the agent.
    $ gemini mcp list
    • Adds /plan slash command to enter an interactive planning mode before execution.
    • Adds enter_plan_mode tool so the agent can autonomously switch into plan mode.
    • Supports the replace tool inside plan mode to edit plans in-place.
    • Supports MCP servers within plan mode.
    • Implements admin allowlist for MCP server configurations, now also applied to extensions.
    +19 moreshow less
    • Adds gemini mcp list command to inspect allowed MCP configurations.
    • Implements linking for agent skills.
    • Adds /extensions config command for managing extension configuration.
    • Adds extension registry client and enables extension config by default.
    • Adds W, B, and E Vim motions with operator support in the input prompt.
    • Adds WebSocket-based network logging and streaming chunk support.
    • Adds autocomplete in the input prompt.
    • Adds a shortcuts hint and panel for discoverability.
    • Adds default execution limits for subagents.
    • Implements observation masking for tool outputs, with high-signal tools exempted and remote configuration for masking thresholds.
    • Implements session-linked tool output storage and cleanup, with persistence and resumption for masked outputs.
    • Pauses agent timeout budget while waiting for tool confirmation.
    • Truncates shell output in UI history and improves active shell display.
    • Transitions to event-driven tool scheduler engine.
    • Removes hardcoded policy bypass for local subagents, enforcing consistent policy.
    • Exposes getUserTierName in config.
    • Updates approval modes UI.
    • Transitions sub-agents to XML format with improved definitions.
    • Expands verify-release to macOS and Windows platforms.
    └──▷ BREAKING ON UPGRADE
    • !The experimental.enableEventDrivenScheduler setting is removed; the event-driven scheduler is now the default engine.
    • !The previewFeatures flag is removed and Gemini 3 is now the default model.
  27. v0.28.0 Feb 10, 2026 · issue -188

    gemini-cli v0.28.0 adds /prompt-suggest, background shell commands, auto theme switching, and policy deny messages.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.28.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.28.0
    └──▷ USE IT
    Restrict a shared environment to only load approved extensions, reducing supply-chain risk from arbitrary extension installs.
    json
    # In settings.json
    {
      "allowedExtensions": ["my-org/approved-ext-a", "my-org/approved-ext-b"]
    }
    Get prompt ideas mid-session when you're unsure how to phrase a security analysis request.
    $ /prompt-suggest
    • Adds /prompt-suggest slash command to surface prompt suggestions interactively.
    • Supports background shell command execution.
    • Implements automatic theme switching based on terminal background color.
    • Adds allowedExtensions setting to restrict which extensions can be loaded.
    • Displays user identity (auth method, email, tier) on startup.
    +19 moreshow less
    • Adds user identity info (auth method, email, tier) to the /stats command output.
    • Adds support for custom deny messages in policy rules.
    • Adds GOOGLE_GENAI_API_VERSION environment variable to override the Gemini API version.
    • Enables overriding CODE_ASSIST_API_VERSION with an environment variable.
    • Enables activity logging for non-interactive mode and evals.
    • Adds a setting to disable loop detection.
    • Implements dynamic policy registration for subagents.
    • Implements tool name aliasing for backward compatibility.
    • Adds session resume support for ACP.
    • Shows hooksConfig.enabled status in the settings dialog.
    • Adds support for custom themes in extensions.
    • Adds support for Positron IDE.
    • Adds multimodal tool response support to token calculation.
    • Preserves end-of-line style in files when making edits.
    • Updates undo/redo keybindings to Cmd+Z / Alt+Z and Shift+Cmd+Z / Shift+Alt+Z.
    • Aligns hooks enable/disable controls with skills and improves tab completion.
    • Provides actionable error messages when admin-disabled features are accessed.
    • Implements interactive and non-interactive consent flows for OAuth.
    • Includes auth method in /bug reports.
    └──▷ BREAKING ON UPGRADE
    • !The legacy tools.enableHooks setting is removed; hooks configuration must use the new hooksConfig.enabled setting.
  28. v0.27.0 Feb 4, 2026 · issue -194

    gemini-cli v0.27.0 adds /rewind, /agents config, MCP enable/disable, Plan Mode, AskUser tool, image paste on Linux, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.27.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.27.0
    └──▷ TRY IT
    Roll back a conversation to an earlier turn when the agent went down the wrong path.
    $ /rewind
    Enable or disable an MCP server at runtime without editing config files.
    $ /mcp enable <server-name>
    Inspect and configure subagents discovered by the AgentRegistry.
    $ /agents config
    • Adds /rewind command to roll back conversation history to a previous state.
    • Adds /agents config command for configuring and discovering subagents.
    • Adds enable/disable commands for MCP servers via /mcp enable and /mcp disable.
    • Adds AskUser tool and accompanying AskUserDialog UI for structured mid-task user prompts.
    • Adds Plan mode, now reachable via Shift+Tab mode cycling, with its own UI theme and a communicate tool kind.
    +15 moreshow less
    • Adds code-reviewer skill for automated code review workflows.
    • Adds docs-writer skill for documentation authoring workflows.
    • Enables image pasting on Linux (Wayland and X11).
    • Adds dynamic variable substitution in system prompt overrides.
    • Adds ANSI escape sequence sanitization in non-interactive (piped/redirect) output.
    • Enables the event-driven tool execution scheduler by default.
    • Enables the hooks system by default, with hook-injected context wrapped in distinct XML tags for security.
    • Adds AgentRegistry to track all discovered subagents across extensions.
    • Replaces large text pastes with a [Pasted Text: X lines] placeholder to keep context concise.
    • Adds JetBrains IDE detection for IDE-companion integration.
    • Displays user tier (e.g., free/paid) in the /about command output.
    • Consolidates shell inactivity and redirection monitoring into a unified monitor.
    • Disables startup tips automatically after 10 runs.
    • Adds an agent configuration dialog with full state management.
    • Adds A/B test routing using numerical complexity scoring for Gemini model selection.
    └──▷ BREAKING ON UPGRADE
    • !The default behavior for positional arguments changes to interactive mode (Default to interactive mode for positional arguments), which may break scripts relying on the previous non-interactive default.
    • !Legacy settings removed (feat(core): Remove legacy settings) — configurations relying on those settings will no longer be applied.
  29. v0.26.0 Jan 28, 2026 · issue -201

    gemini-cli v0.26.0 adds skill-creator, plan approval mode, agent enable/disable, and undeprecates --prompt

    └──▷ GET THIS VERSION
    $ git clone --branch v0.26.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.26.0
    └──▷ TRY IT
    Pass a one-shot prompt directly on the command line without entering the interactive REPL.
    $ gemini --prompt "Summarize the last 10 git commits in this repo"
    • Introduces skill-creator built-in skill and CJS management tools for authoring and managing agent skills.
    • Adds experimental --plan flag and 'plan' approval mode that enforces a strict read-only policy and halts execution on violations before any writes occur.
    • Enables and disables individual agents from the CLI.
    • Undeprecates the --prompt flag for passing prompts directly on the command line.
    • Adds auto alias for default model selection in config.
    +14 moreshow less
    • Enables agent skills by default.
    • Adds conflict detection and warnings when skills override one another.
    • Adds security consent prompts when installing skills.
    • Adds a Rewind Confirmation dialog and Rewind Viewer component for reviewing conversation history.
    • Adds source tracking to policy rules for auditability.
    • Adds a generalist agent to the core agent roster.
    • Adds admin controls polling and restart prompt for centralized admin management.
    • Renames negative settings to positive naming convention (disable*enable*).
    • Adds support for running available commands before MCP servers finish loading.
    • Steers the outer agent to delegate to expert sub-agents when they are present.
    • Adds experimental extension config setting.
    • Adds types and SchedulerStateManager for an event-driven scheduler with reactive tool state.
    • Optimizes text buffer and syntax highlighting for large inputs.
    • Removes read_many_files from plan approval mode policies so file reads are always permitted without approval.
    └──▷ BREAKING ON UPGRADE
    • !Settings previously named with a disable* prefix are renamed to enable* (e.g., a setting like disableX becomes enableX); existing configs using the old names will need to be updated.
  30. v0.25.0 Jan 21, 2026 · issue -208

    gemini-cli v0.25.0 adds built-in agent skills, /agents command, filepath autosuggestion, model routing to subagents, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.25.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.25.0
    └──▷ TRY IT
    List all available agents mid-session to know which subagents you can delegate to.
    $ /agents
    Reload agent definitions after adding or modifying an agent without restarting the CLI.
    $ /agents refresh
    Override experiment flags locally without changing server-side config, useful for testing experimental model behaviour.
    $ GEMINI_EXP=my_experiment gemini
    • Adds built-in Agent Skills support, including a new pr-creator skill, with multi-scope enablement and shadowing fixes.
    • New /agents slash command lists available agents; /agents refresh reloads agent definitions without restarting.
    • Adds filepath autosuggestion after slash commands for faster input.
    • Introduces subagent model routing, wiring model selection to subagents.
    • Supports @ mention suggestions for subagents in the prompt.
    +19 moreshow less
    • Adds mcp_context to BeforeTool and AfterTool hook inputs for richer hook logic.
    • Model hooks now support explicit stop and block execution control.
    • Adds GEMINI_EXP environment variable for local experiments override.
    • Adds GEMINI_CLI_HOME environment variable for strict environment isolation.
    • Adds fallback option for capacity errors in Pro Quota.
    • Adds native Sublime Text support to IDE detection.
    • Adds support for the Antigravity terminal in terminal setup utility.
    • Adds Helix (hx) editor support.
    • Exports chat history in /bug command and prefills the GitHub issue body.
    • Adds extension linking capabilities in the CLI.
    • Shows settings source in extension lists.
    • Adds upgrade option for paid users.
    • Implements passive activity logger for session analysis.
    • Adds /chat debug command for nightly builds.
    • Enables the cli_help agent by default.
    • Adds confirmation details support and JSON-RPC vs HTTP REST support for external tool integrations.
    • Adds opt-out setting for home directory warnings to reduce noise.
    • Caches ignore instances for improved file-traversal performance.
    • Applies remote admin settings.
  31. v0.24.0 Jan 14, 2026 · issue -215

    gemini-cli v0.24.0 adds Agent Skills, remote multi-agent support, in-CLI extension install/uninstall, hook tool-input modification, and a new gemini skills command.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.24.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.24.0
    └──▷ TRY IT
    List available Agent Skills and check how many are active (shown in the status bar), then hot-reload after adding a new skill.
    $ gemini skills
    # after adding a skill file, inside the CLI:
    /skills reload
    • Adds experimental extension install and extension uninstall subcommands to manage extensions directly from the CLI.
    • Adds gemini skills CLI management command for discovering, listing, and reloading Agent Skills.
    • Adds /skills reload slash command to hot-reload skills without restarting a session.
    • Introduces Agent Skills infrastructure with tiered discovery, autonomous activation, system-prompt injection, status-bar skill counts, and extension support.
    • Adds support for remote agents and multi-agent TOML configuration files.
    +16 moreshow less
    • Adds A2A (Agent-to-Agent) Client Manager for connecting to remote agents.
    • Supports tool input modification via hooks, allowing hooks to rewrite tool arguments before execution.
    • Adds context injection via the SessionStart hook.
    • Implements dynamic mode-aware policy evaluation in the policy engine.
    • Allows modes field in user and admin policy files for per-mode policy rules.
    • Adds unified secrets sanitization and environment variable redaction options.
    • Adds folder trust support to hooks, with project-level hook security warnings.
    • Enables automatic /model persistence across sessions (opt-in).
    • Adds folder suggestions to the /dir add command.
    • Adds descriptions for each setting item displayed in /settings.
    • Adds a hooks.enabled setting to globally enable or disable hooks.
    • Adds OSC 52 paste support via a new setting.
    • Adds modifyOtherKeys protocol support for improved key handling in tmux.
    • Shows a snowfall animation for the holiday UI theme.
    • Adds visual indicators in the UI for hook execution status.
    • Adds exponential back-off retries for retryable API errors without a specified retry delay.
    └──▷ BREAKING ON UPGRADE
    • !Deprecated permission aliases are removed from BeforeToolHookOutput; hooks using those aliases will break.
    • !Legacy confirmation settings are deprecated and the Policy Engine is now enforced; configurations relying on the old confirmation settings will no longer apply.
    • !Legacy shell security policy logic is removed and unified under the new policy engine; existing shell allowlist configurations may need to be updated.
    • !SmartEditTool is consolidated into EditTool and the smart-edit module is renamed to edit; configurations or extensions referencing smart-edit by name will break.
  32. v0.23.0 Jan 7, 2026 · issue -222

    gemini-cli v0.23.0 adds Gemini 3 Flash, HTTP/SSE MCP servers, /auth logout, Windows clipboard image paste, and more

    └──▷ GET THIS VERSION
    $ git clone --branch v0.23.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.23.0
    └──▷ TRY IT
    Log out and clear all stored credentials when rotating accounts or revoking access.
    $ gemini /auth logout
    • Adds support for Gemini 3 Flash as an available model in the CLI
    • Supports HTTP/SSE based MCP servers via the official ACP SDK
    • New /auth logout command clears credentials and auth state
    • Adds Windows clipboard image support with Alt+V paste workaround
    • Introduces remote agent infrastructure for orchestrating remote agents
    +8 moreshow less
    • Adds an agent TOML parser for defining agents declaratively
    • Supports friendly names and descriptions for hooks
    • Implements JIT (just-in-time) context memory loading with UI sync
    • Passes additional environment variables to shell execution
    • Detects terminal background color for improved theme rendering
    • Adds Allow for all future sessions tool-confirmation option (off by default)
    • Simplifies tool confirmation labels for better UX
    • Adds clearcut telemetry logging for hooks
  33. v0.22.0 Dec 22, 2025 · issue -238

    gemini-cli v0.22.0 adds persistent Always Allow policies, multi-file image drag-and-drop, /init for A2A servers, transcript_path in hooks, and richer /stats output.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.22.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.22.0
    └──▷ TRY IT
    Check quota consumption for every model — including ones you haven't used this session — to spot headroom before hitting limits.
    $ /stats
    Initialize an Agent-to-Agent server configuration in the current directory.
    $ /init
    • Adds persistent 'Always Allow' policies with granular shell and MCP tool support, so approved tools aren't re-prompted across sessions.
    • Supports multi-file drag and drop of images directly into the CLI prompt.
    • Introduces /init command for the Agent-to-Agent (A2A) server.
    • Adds transcript_path field in hooks for git-ai/Gemini extension integrations.
    • Displays quota stats for unused models in /stats, alongside polished cached token stats.
    +4 moreshow less
    • Falls back to GEMINI_CLI_IDE_AUTH_TOKEN environment variable for IDE authentication.
    • Adds schema validation for settings files, catching misconfiguration at load time.
    • Shows raw input token counts in JSON output mode.
    • Hooks now refresh automatically when extensions are refreshed.
  34. v0.21.0 Dec 16, 2025 · issue -244

    gemini-cli v0.21.0 adds hook lifecycle events, MCP Resources, OSC52 remote copy, extension settings commands, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.21.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.21.0
    └──▷ TRY IT
    Copy output to your local clipboard from an SSH/remote session without needing a local selection.
    $ gemini
    # inside the session:
    /copy
    Add a remote MCP server using the new consolidated url field and the --type alias.
    $ gemini mcp add my-server --type sse --url https://my-mcp-server.example.com/sse
    • Adds hook system for session lifecycle and compression integration, enabling scripts to react to session start/end and context compression events.
    • Adds a Hooks Commands Panel in the UI with per-hook enable/disable toggles and migration support.
    • Supports Extension Hooks with a security warning when a hook is loaded from an extension.
    • Adds --enableAgents experimental flag to opt into agent-based workflows.
    • Supports MCP Resources, allowing MCP servers to expose file/data resources to the CLI.
    +17 moreshow less
    • Adds --type alias for --transport flag in gemini mcp add for convenience.
    • Auto-executes MCP prompts that require no arguments when selected, skipping a manual Enter press.
    • Auto-executes slash commands on completion when the command function takes no arguments.
    • Consolidates remote MCP server config to use a single url field instead of separate transport fields.
    • Supports dynamic MCP tool updates via notifications/tools/list_changed, keeping the tool list current without restarting.
    • Adds /copy slash command support in remote SSH sessions using OSC52 escape sequences.
    • Adds commands for listing and updating per-extension settings.
    • Adds support for user-scoped extension settings, separate from project-level settings.
    • Implements fuzzy search inside the settings panel.
    • Enables message bus integration by default.
    • Allows telemetry exporters to GCP to use the user's login credentials when requested.
    • Tracks GitHub repository names in telemetry events.
    • Emits gemini_cli.startup_stats OTEL log event for startup performance metrics.
    • Generates a one-line AI summary to describe saved sessions in the session list.
    • Introduces a restore command for the a2a server to resume previous sessions.
    • Integrates model availability service into backend logic for smarter model selection.
    • Includes session_id in JSON output for easier programmatic session tracking.
    └──▷ BREAKING ON UPGRADE
    • !Remote MCP server config now uses a single url field; existing configs using separate transport fields must be updated.
  35. v0.20.0 Dec 9, 2025 · issue -251

    gemini-cli v0.20.0 adds hooks for tool/LLM interception, JIT context management, policy-driven model fallback, and MCP server instruction injection.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.20.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.20.0
    └──▷ TRY IT
    Check remaining usage quota alongside token and cost stats mid-session.
    $ /stats
    • Adds hook integration for tool execution, enabling external scripts to intercept and act on tool calls before and after they run.
    • Adds hook integration for LLM request/response, allowing external scripts to observe or modify model inputs and outputs.
    • Implements a JIT (Just-in-Time) context manager and accompanying setting to dynamically manage context window usage.
    • Introduces a policy-driven model fallback mechanism with wrapped fallback and single-model policies for availability routing.
    • Adds configurable inactivity timeout for shell commands to prevent runaway executions.
    +10 moreshow less
    • Adds support for MCP server instructions, now always injected into the system prompt.
    • Injects GoogleCredentialProvider headers in McpClient, enabling authenticated MCP server connections.
    • Shows waiting/connecting MCP servers in the ConfigInitDisplay UI during startup.
    • Adds usage limit remaining to the /stats command output.
    • Auto-executes simple slash commands (e.g., /clear) on Enter without requiring a second confirmation.
    • Adds a startup profiler to measure and record application initialization phases.
    • Adds a built-in holiday theme accessible via the themes system.
    • Adds a consent flag to the link command.
    • Adds OTel semantic logging for API request events with finish reasons via updated telemetry.
    • Standardizes the pager to cat for shell executions run by the model, ensuring consistent output handling.
  36. v0.19.0 Dec 2, 2025 · issue -258

    gemini-cli v0.19.0 adds Databricks auth, a session browser, hooks infrastructure, custom model aliases, and automatic Flash fallback on quota errors.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.19.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.19.0
    └──▷ TRY IT
    Browse and resume a previous chat session interactively without leaving the CLI.
    $ /resume
    • Adds Databricks authentication support and a custom header option for connecting to Databricks-hosted Gemini endpoints.
    • Adds interactive session browser component with a new /resume slash command to browse and reopen past chat sessions.
    • Introduces hooks infrastructure (telemetry, event handling, agent lifecycle, and system orchestration) enabling extensible automation around agent actions.
    • Adds model availability service (modelAvailabilityService) with ModelPolicy and PolicyCatalog for tracking and managing model health.
    • Adds isModelAvailabilityServiceEnabled setting to toggle the model availability service.
    +5 moreshow less
    • Supports custom aliases for model configs, letting users define shorthand names for specific model configurations.
    • Automatic fallback to Gemini Flash on TerminalQuota errors so sessions continue without manual intervention.
    • Adds session subtask display in the /stats command output.
    • Displays a custom loading phrase when an interactive shell tool requires user input.
    • Removes the useModelRouter experimental flag, graduating model routing to standard behavior.
    └──▷ BREAKING ON UPGRADE
    • !Alternate buffer mode is now off by default; terminals that relied on the previous default alternate-buffer behavior will see a changed display mode on upgrade.
  37. v0.20.0-nightly.20251202.29920b16d Dec 2, 2025 · issue -258

    gemini-cli v0.20.0-nightly adds auto-executing slash commands, a holiday theme, and enhanced model availability routing.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.20.0-nightly.20251202.29920b16d https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.20.0-nightly.20251202.29920b16d
    • Auto-executes simple slash commands on Enter, removing the need for an extra confirmation keystroke.
    • Adds a built-in holiday theme () selectable via the themes system.
    • Enhances availability routing with wrapped fallback and single-model policies for more resilient model selection.
    • Adds a startup profiler to measure and record application initialization phases.
    • Always applies MCP server instructions when MCP tools are in use.
  38. v0.20.0-nightly.20251201.2fe609cb6 Dec 1, 2025 · issue -259

    gemini-cli v0.20.0-nightly adds usage-limit tracking in /stats, MCP server visibility, and richer OTel telemetry.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.20.0-nightly.20251201.2fe609cb6 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.20.0-nightly.20251201.2fe609cb6
    └──▷ TRY IT
    Check remaining API usage quota mid-session without leaving the CLI.
    $ /stats
    • Adds remaining usage-limit display to the /stats command so you can track API quota at a glance.
    • Shows waiting/pending MCP servers in the ConfigInitDisplay so you can see server connection status during initialization.
    • Standardizes the pager to cat for shell commands executed by the model, ensuring consistent, non-interactive output.
    • Adds semantic logging for API request events in OTel telemetry.
    • Emits finish reasons on OTel API response events for richer observability.
  39. v0.20.0-nightly.20251127.5bed97064 Nov 27, 2025 · issue -263

    gemini-cli v0.20.0-nightly adds Databricks auth, hooks for tool/LLM events, MCP server instructions, and policy-driven model fallback.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.20.0-nightly.20251127.5bed97064 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.20.0-nightly.20251127.5bed97064
    • Adds Databricks authentication support and a custom header option for connecting gemini-cli to Databricks-hosted models.
    • Adds hook integration for tool execution, enabling scripts or handlers to fire before/after the CLI invokes any tool.
    • Adds hook integration for LLM request/response events, allowing interception or logging of raw model traffic.
    • Adds support for MCP server instructions via a config option, letting operators inject server-level guidance into the context.
    • Injects GoogleCredentialProvider headers into MCP client connections, enabling authenticated MCP server access.
    +3 moreshow less
    • Implements a policy-driven model fallback mechanism so the CLI can automatically switch models when a primary model is unavailable.
    • Adds a configurable inactivity timeout for shell commands, preventing runaway shell tool calls from hanging indefinitely.
    • Adds a consent flag to the Link command for non-interactive linking flows.
  40. v0.19.0-nightly.20251126.03845198c Nov 26, 2025 · issue -264

    gemini-cli v0.19.0-nightly adds /resume slash command, model availability service setting, and Flash quota fallback.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.19.0-nightly.20251126.03845198c https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.19.0-nightly.20251126.03845198c
    └──▷ TRY IT
    Browse and restore a previous conversation interactively without leaving the CLI.
    $ /resume
    • New /resume slash command opens an interactive session browser to restore previous chats.
    • New isModelAvailabilityServiceEnabled config setting controls the model availability service.
    • Automatically falls back to Gemini Flash when a TerminalQuota error is encountered.
  41. v0.18.0 Nov 26, 2025 · issue -264

    gemini-cli v0.18.0 adds Gemini 3 thinking support, click-to-focus shell, live preview toggles, and richer session recording.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.18.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.18.0
    • Adds thinking level support for Gemini 3 models, with thinking mode now excluded for gemini-2.0 models.
    • Incorporates Gemini 3 into the model config hierarchy for default model routing.
    • Adds click-to-focus support for the interactive shell.
    • Enables switching preview features on/off without restarting the CLI.
    • Records interactive-only errors and warnings to chat recording JSON files in session logs.
    +3 moreshow less
    • Adds user email detail to the about box.
    • Changes default context-compression threshold to 0.5 for API key users.
    • Keeps header ASCII art colored on non-gradient terminals.
    └──▷ BREAKING ON UPGRADE
    • !The default compress threshold is changed to 0.5 for API key users, which may trigger context compression more aggressively than before.
  42. v0.19.0-preview.0 Nov 26, 2025 · issue -264

    gemini-cli v0.19.0 adds Databricks auth, a session browser, hooks infrastructure, model aliases, and model health tracking.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.19.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.19.0-preview.0
    └──▷ TRY IT
    Browse and resume a past session interactively without leaving the CLI.
    $ /resume
    Check token usage and session subtask breakdown for the current conversation.
    $ /stats
    • Adds Databricks authentication support and a custom header option for connecting to Databricks-hosted models.
    • New interactive session browser component lets users browse, select, and resume past sessions from within the CLI.
    • New /resume slash command opens the session browser directly from an interactive session.
    • Adds hook telemetry infrastructure, event handling, agent lifecycle integration, and system orchestration — enabling hook-based extensibility across the agent pipeline.
    • Adds support for custom aliases for model configs, letting users refer to models by shorthand names.
    +10 moreshow less
    • Introduces modelAvailabilityService with ModelPolicy and PolicyCatalog for managing and tracking model health.
    • Adds isModelAvailabilityServiceEnabled setting to toggle model availability tracking.
    • Automatic fallback to Gemini Flash on TerminalQuota errors keeps sessions running when quota is exhausted.
    • Adds session subtask display to the /stats command output.
    • Chat compression service migrated to model configs, enabling per-model compression configuration.
    • Custom loading phrase displayed when the interactive shell is waiting for input from an external tool or subprocess.
    • Alternate buffer mode is now off by default, improving terminal compatibility.
    • Removes the useModelRouter experimental flag (model routing is now standard behavior).
    • Updates MCP SDK dependency to v1.23.0, bringing the latest Model Context Protocol improvements.
    • Lenient MCP output schema validator reduces noise from non-conforming MCP server responses.
    └──▷ BREAKING ON UPGRADE
    • !The useModelRouter experimental flag has been removed; any config or scripts referencing it will need to be updated.
    • !Alternate buffer mode is now off by default; setups that relied on alternate buffer mode being enabled will see changed terminal rendering behavior.
  43. v0.19.0-nightly.20251125.f6d97d448 Nov 25, 2025 · issue -265

    gemini-cli v0.19.0-nightly adds hook lifecycle infrastructure, session stats, and model policy controls.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.19.0-nightly.20251125.f6d97d448 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.19.0-nightly.20251125.f6d97d448
    • Adds hook telemetry infrastructure, enabling hooks to emit and track telemetry events during execution.
    • Adds hook event handling, allowing hooks to respond to and process agent events.
    • Adds hook agent lifecycle integration, connecting hooks to agent start/stop and lifecycle transitions.
    • Adds hook system orchestration, enabling coordinated hook execution across the agent system.
    • Adds session subtask breakdown to the /stats command for finer-grained session inspection.
    +2 moreshow less
    • Introduces ModelPolicy and PolicyCatalog to govern model availability and selection rules.
    • Migrates chat compression service to model configs, enabling per-model compression configuration.
  44. v0.19.0-nightly.20251123.dadd606c0 Nov 23, 2025 · issue -267

    gemini-cli v0.19.0-nightly adds BaseLlmClient.generateContent and disables alternate buffer mode by default.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.19.0-nightly.20251123.dadd606c0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.19.0-nightly.20251123.dadd606c0
    • Adds BaseLlmClient.generateContent method to the core LLM client interface.
    • Disables alternate buffer mode by default for a more standard terminal experience.
    └──▷ BREAKING ON UPGRADE
    • !Alternate buffer mode is now off by default, which changes terminal rendering behavior for users who relied on the previous default.
  45. v0.19.0-nightly.20251122.42c2e1b21 Nov 22, 2025 · issue -268

    gemini-cli v0.19.0-nightly adds an interactive session browser, model health tracking, custom model aliases, and custom shell loading phrases.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.19.0-nightly.20251122.42c2e1b21 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.19.0-nightly.20251122.42c2e1b21
    • Adds interactive session browser component for navigating past sessions within the UI.
    • Adds modelAvailabilityService for managing and tracking model health, enabling automatic model fallback awareness.
    • Supports custom aliases for model configs, letting users define shorthand names for frequently used model configurations.
    • Displays a custom loading phrase when the interactive shell is waiting for input from an external process.
    └──▷ BREAKING ON UPGRADE
    • !The useModelRouter experimental flag has been removed; any configuration or scripts referencing it will no longer be recognized.
  46. v0.19.0-nightly.20251121.5982abeff Nov 21, 2025 · issue -269

    gemini-cli v0.19.0-nightly adds Gemini 3 thinking-level support, live preview-feature toggling, and user email in the about box.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.19.0-nightly.20251121.5982abeff https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.19.0-nightly.20251121.5982abeff
    • Adds thinking-level control for Gemini 3 models, wired into the model config hierarchy.
    • Enables switching preview features on and off without restarting the CLI.
    • Displays the authenticated user's email in the about box.
    • Wires up chat code path to honour per-model config settings.
    • Applies default model routing for the Zed integration.
    └──▷ BREAKING ON UPGRADE
    • !The default compress threshold for API key users is changed to 0.5 (from its previous value), which may trigger context compression sooner than before on existing setups.
  47. v0.17.0 Nov 20, 2025 · issue -270

    gemini-cli v0.17.0 adds Gemini 3 support, multi-extension uninstall, metadata server auth, and MCP tool discovery rework.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.17.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.17.0
    • Launches Gemini 3 model support in Gemini CLI.
    • Adds option for metadata server application default credentials without project override.
    • Enables uninstalling multiple extensions in a single command.
    • Reworks MCP tool discovery and invocation.
    • Updates the permissions command to support modifying trust for other directories.
    +4 moreshow less
    • Checks folder trust before allowing add directory operations.
    • Shows the active model in conversation history.
    • Supports right-click to paste in Alternate Buffer mode.
    • Changes default compress threshold to 0.7 for API key users.
  48. v0.18.0-preview.0 Nov 20, 2025 · issue -270

    gemini-cli v0.18.0 adds Gemini 3 thinking support, click-to-focus shell, live preview toggles, and richer session recordings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.18.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.18.0-preview.0
    └──▷ HOW TO FIND IT
    Toggle a preview feature on or off at runtime without restarting the CLI session.
    📍# Inside a running gemini-cli session, open Settings and toggle preview features on or off without exiting.
    • Adds thinking level support for Gemini 3 models via updated model config hierarchy.
    • Narrows thinking mode support to exclude gemini-2.0 models, simplifying model selection logic.
    • Enables click-to-focus support for the interactive shell.
    • Enables switching preview features on/off without restarting the CLI.
    • Records interactive-only errors and warnings to chat recording JSON files for better session replay.
    +6 moreshow less
    • Displays user email detail in the about box.
    • Wires up chat code path for model configs, enabling per-chat model configuration.
    • Uses default model routing for the Zed integration.
    • Updates banner design.
    • Keeps header ASCII art colored on non-gradient terminals.
    • Changes default compress threshold to 0.5 for API key users.
    └──▷ BREAKING ON UPGRADE
    • !The default context compression threshold is changed to 0.5 for API key users, which may trigger earlier automatic context compression than before.
  49. v0.18.0-nightly.20251120.2231497b1 Nov 20, 2025 · issue -270

    gemini-cli v0.18.0-nightly adds chat-session error recording, click-to-focus in interactive shell, and updated thinking-mode model support.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.18.0-nightly.20251120.2231497b1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.18.0-nightly.20251120.2231497b1
    • Records interactive-only errors and warnings to chat recording JSON files for post-session review.
    • Adds click-to-focus support for the interactive shell, letting users mouse-click to direct input focus.
    • Updates thinking mode support to exclude gemini-2.0 models with simplified selection logic.
    • Bumps genai SDK to v1.30.0, unlocking access to the latest Gemini API capabilities.
  50. v0.18.0-nightly.20251118.7cc5234b9 Nov 18, 2025 · issue -272

    gemini-cli v0.18.0-nightly adds Gemini 3, bulk extension uninstall, reworked MCP tool discovery, and right-click paste in Alternate Buffer mode.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.18.0-nightly.20251118.7cc5234b9 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.18.0-nightly.20251118.7cc5234b9
    • Launches Gemini 3 model support in Gemini CLI.
    • Enables uninstalling multiple extensions in a single command.
    • Reworks MCP tool discovery and invocation for improved reliability.
    • Adds right-click to paste in Alternate Buffer mode.
    • Shows a tip on the first request to guide new users.
  51. v0.16.0 Nov 18, 2025 · issue -272

    Gemini CLI v0.16.0 launches Gemini 3 model support.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.16.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.16.0
    • Adds Gemini 3 model support directly within Gemini CLI.
  52. v0.17.0-nightly.20251116.e650a4ee5 Nov 16, 2025 · issue -274

    gemini-cli v0.17.0-nightly adds metadata server ADC auth option, permissions command trust management, and model display in history.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.17.0-nightly.20251116.e650a4ee5 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.17.0-nightly.20251116.e650a4ee5
    • Adds option to authenticate via metadata server application default credentials without a project override.
    • Extends the permissions command to support modifying trust for directories beyond the current working directory.
    • Adds folder trust verification before allowing a directory to be added via add directory.
    • Shows the active model in conversation history output.
  53. v0.17.0-nightly.20251114.0fcbff506 Nov 14, 2025 · issue -276

    gemini-cli v0.17.0-nightly adds animated scrolling, draggable scrollbar, sticky headers, and alternate buffer UI by default.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.17.0-nightly.20251114.0fcbff506 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.17.0-nightly.20251114.0fcbff506
    • Enables alternate screen buffer (useAlternateBuffer) by default for a cleaner terminal UI experience.
    • Adds animated page-up/page-down, fn-up/fn-down, and End/Home key navigation in the UI.
    • Introduces a draggable scrollbar for mouse-driven scroll control.
    • Adds sticky headers with top rounded border that remain visible while scrolling.
    • Supports an incremental update experiment flag for rendering optimization.
    +2 moreshow less
    • Records auth type in history checkpoints for improved session tracking.
    • Allows users to manually reset model selection back to auto mode when the client is in fallback mode.
  54. v0.15.0 Nov 14, 2025 · issue -276

    gemini-cli v0.15.0 adds session resume flags, a hooks execution engine, /extensions restart, and a listCommands A2A endpoint.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.15.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.15.0
    └──▷ TRY IT
    Reload all extensions mid-session after editing their configs or tool exclusion lists, without restarting the CLI.
    $ /extensions restart
    • Adds CLI flags for session management, including the ability to resume previous geminiChat sessions.
    • Introduces a Hook Execution Engine, enabling hooks to fire during CLI operations.
    • Adds /extensions restart slash command to reload extensions without restarting the CLI.
    • Adds listCommands endpoint to the A2A (agent-to-agent) server.
    • Gemini memory now reloads automatically on extension load/unload.
    +5 moreshow less
    • Extension reloading now respects updates to excluded tools.
    • Adds a setting to disable GitHub extensions.
    • Adds expected_replacements parameter to the smart-edit tool.
    • Supports scrolling within the Ink-rendered UI.
    • Switches terminal rendering to alternate buffer mode for cleaner display.
  55. v0.16.0-preview.0 Nov 14, 2025 · issue -276

    gemini-cli v0.16.0 adds a safety checker framework, hook result aggregation, enhanced RipGrep search, and new UI navigation capabilities.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.16.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.16.0-preview.0
    • Introduces a safety checker framework (feat(safety)) for validating tool actions before execution.
    • Adds hook result aggregation, allowing multiple hook outputs to be combined and acted upon together.
    • Enhances the RipGrep tool with advanced search options and improved defaults for richer code search.
    • Enables the write_todo tool so the agent can create and manage to-do lists during sessions.
    • Adds animated page-up/page-down, Fn+Up/Down, and End+Home keyboard navigation in the UI.
    +6 moreshow less
    • Adds draggable scrollbar support in the terminal UI.
    • Adds two-stage loop detection in the agent core to catch and break repetitive model behavior earlier.
    • Supports an incremental update experiment flag for streaming response rendering.
    • Auth type is now recorded in history checkpoints, enabling per-session auth tracking.
    • Always shows the tool internal name in /tools output alongside the display name.
    • Switches the UI to use the alternate terminal buffer by default, keeping the primary buffer clean.
    └──▷ BREAKING ON UPGRADE
    • !The read-many-files tool has been removed from the agent; workflows relying on it must switch to alternative file-reading approaches.
  56. v0.16.0-nightly.20251113.ad1f0d99 Nov 13, 2025 · issue -277

    gemini-cli v0.16.0-nightly adds hook result aggregation, a safety checker framework, and the write_todo tool.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.16.0-nightly.20251113.ad1f0d99 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.16.0-nightly.20251113.ad1f0d99
    • Adds Hook Result Aggregation, enabling multiple hook outputs to be combined and surfaced together.
    • Introduces a safety checker framework for validating tool actions before execution.
    • Enables the write_todo tool for managing task lists directly within the CLI.
    • Always displays the internal tool name in /tools output for clearer tool identification.
  57. v0.16.0-nightly.20251112.c961f274 Nov 12, 2025 · issue -278

    gemini-cli v0.16.0-nightly adds session resuming, GitHub extension disabling, enhanced RipGrep search, and improved loop detection.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.16.0-nightly.20251112.c961f274 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.16.0-nightly.20251112.c961f274
    • Adds CLI flags for session management, including the ability to resume previous geminiChat sessions.
    • Adds a setting to disable GitHub extensions from the CLI.
    • Enhances the RipGrep tool with advanced search options and improved defaults.
    • Enhances loop detection with a 2-stage check for more reliable agentic runs.
    • Adds expected_replacements parameter to the smart-edit tool for more precise edits.
    +2 moreshow less
    • Adds experiment logging and a caching experiment for performance optimization.
    • Supports Ink scrolling for improved terminal rendering of long outputs.
  58. v0.14.0 Nov 12, 2025 · issue -278

    gemini-cli v0.14.0 adds scrollable output, extension enable/disable commands, subagent compression, and shell CWD context.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.14.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.14.0
    └──▷ TRY IT
    Temporarily disable a noisy extension mid-session without restarting the CLI.
    $ /disable <extension-name>
    Re-enable a previously disabled extension and pick up any custom command changes without restarting.
    $ /enable <extension-name>
    • Adds scrollable support to the CLI output interface.
    • Adds /enable and /disable commands for extensions, and live reloading of custom commands without restarting the CLI.
    • Adds compression mechanism to subagent conversations to manage context length.
    • Includes current working directory (cwd) in shell command descriptions for clearer context.
    • Notifies users when the model falls back to Flash, with an updated error message.
    +1 moreshow less
    • Adds ModelConfigService for centralized model configuration management.
  59. v0.15.0-preview.0 Nov 12, 2025 · issue -278

    gemini-cli v0.15.0 adds session resumption flags, a hook execution engine, /extensions restart, and an a2a listCommands endpoint.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.15.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.15.0-preview.0
    └──▷ TRY IT
    Restart all loaded extensions after editing their configuration, without restarting the CLI.
    $ /extensions restart
    • Adds CLI flags for session management and resuming chat sessions via geminiChat.
    • Introduces a Hook Execution Engine for automating actions around tool calls and model responses.
    • Adds /extensions restart slash command to reload extensions without restarting the CLI.
    • Gemini memory now reloads automatically on extension load/unload.
    • Extension reloading now respects updates to excluded tools.
    +6 moreshow less
    • Adds listCommands endpoint to the a2a server for agent-to-agent capability discovery.
    • Adds setting to disable GitHub extensions.
    • Adds expected_replacements parameter to the smart-edit tool for more precise edits.
    • Switches to alternate buffer mode before rendering Ink for a cleaner terminal UI.
    • Supports scrolling in the Ink UI.
    • Tabs are now preserved on paste.
    └──▷ BREAKING ON UPGRADE
    • !The icon property on info messages is renamed to prefix.
  60. v0.15.0-nightly.20251111.51f952e7 Nov 11, 2025 · issue -279

    gemini-cli v0.15.0-nightly adds a Hook Execution Engine for automating actions around tool calls.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.15.0-nightly.20251111.51f952e7 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.15.0-nightly.20251111.51f952e7
    • Adds a Hook Execution Engine, enabling lifecycle hooks to run custom logic around tool execution.
    • Preserves tab characters when pasting text into the prompt.
  61. v0.15.0-nightly.20251110.c0b766ad Nov 10, 2025 · issue -280

    gemini-cli v0.15.0-nightly adds /extensions restart command, live memory reload on extension changes, and a new a2a listCommands endpoint.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.15.0-nightly.20251110.c0b766ad https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.15.0-nightly.20251110.c0b766ad
    └──▷ TRY IT
    Reload all extensions mid-session after editing an extension config or toggling excluded tools — no need to restart the CLI.
    $ /extensions restart
    • Adds /extensions restart slash command to reload extensions without restarting the CLI.
    • Reloads Gemini memory automatically when extensions are loaded or unloaded.
    • Respects updates to excluded tools when extensions are reloaded at runtime.
    • Adds listCommands endpoint to the a2a server.
  62. v0.15.0-nightly.20251107.cd27cae8 Nov 7, 2025 · issue -283

    gemini-cli v0.15.0-nightly adds scrollable UI, extension enable/disable commands, subagent compression, and shell CWD context.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.15.0-nightly.20251107.cd27cae8 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.15.0-nightly.20251107.cd27cae8
    • Adds scrollable support to the CLI interface, enabling navigation through long outputs.
    • Adds /enable and /disable commands for extensions, plus live reloading of custom commands.
    • Adds compression mechanism to subagent to manage context size in multi-agent workflows.
    • Includes current working directory in shell command descriptions for better context visibility.
    • Notifies users when the model falls back to Flash, with an updated error message.
    +1 moreshow less
    • Adds ModelConfigService for centralized model configuration management.
  63. v0.13.0 Nov 7, 2025 · issue -283

    gemini-cli v0.13.0 adds a validate command, hook configuration, extension hot-reload, kitty keyboard support, and model routing for all users.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.13.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.13.0
    └──▷ HOW TO FIND IT
    Adjust the context compression threshold on the fly via the settings UI without editing config files.
    📍# In the gemini-cli settings UI, navigate to the compression threshold field and enter the desired token count. Note: requires a restart to take effect.
    • Adds validate command for catching common package/CLI regressions.
    • Introduces Hook Configuration Schema and Types, enabling lifecycle hook definitions.
    • Initial support for reloading extensions (MCP servers) in the CLI without restarting.
    • Enables model routing for all users, automatically selecting the best model for each request.
    • Adds kitty terminal protocol support for function keys.
    +16 moreshow less
    • Makes compression threshold editable in the UI settings.
    • Adds auth_type to StartSessionEvent OpenTelemetry logging.
    • Adds extension name and ID to ToolCallEvent and slash command invocation telemetry.
    • Adds active extensions list to StartSessionEvent telemetry.
    • Introduces release channel detection in core.
    • Adds support for listing active experiments.
    • Adds DarkGray color to the ColorTheme palette for custom themes.
    • Adds a response semantic color for UI theming.
    • Adds alternate terminal buffer support.
    • Enforces timeout for subagents and grants a recovery turn on TIMEOUT, MAX_TURNS, or NO_TOOL_CALL failures.
    • Implements granular memory loaders for the JIT architecture.
    • Removes context percentage from the footer by default, reducing UI noise.
    • Hides the collapsed Todo tray when all items are complete.
    • Handles untrusted folder prompts during extension install and link.
    • Logs recovery/nudge events occurring inside subagents.
    • Improves API key authentication flow.
    └──▷ BREAKING ON UPGRADE
    • !The default compression threshold has changed; existing setups relying on the previous default will compress context at a different level.
    • !model.compressionThreshold is now marked as requiring a restart to take effect.
  64. v0.14.0-preview.0 Nov 7, 2025 · issue -283

    gemini-cli v0.14.0 adds scrollable output, extension enable/disable commands, subagent compression, and shell CWD context.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.14.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.14.0-preview.0
    └──▷ TRY IT
    Reload a custom extension and toggle it on or off without restarting the CLI session.
    $ /disable my-extension
    /enable my-extension
    • Adds scrollable support to the CLI output UI.
    • Adds /enable and /disable commands for extensions, and live reloading of custom commands without restarting.
    • Adds compression mechanism to subagent to manage long context automatically.
    • Includes current working directory (cwd) in shell command descriptions for better context.
    • Notifies users when the model falls back to Flash, with an updated error message.
    +1 moreshow less
    • Adds ModelConfigService for centralized model configuration management.
  65. v0.13.0-nightly.20251105.da3da198 Nov 5, 2025 · issue -285

    gemini-cli gains hook I/O contracts, alternate buffer UI, thinking budget cap, WriteTodos tool, and subagent timeout/recovery.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.13.0-nightly.20251105.da3da198 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.13.0-nightly.20251105.da3da198
    • Adds hook type decoupling and translation, enabling hooks to be defined independently of their execution context.
    • Adds hook input/output contracts, formalizing the data shapes passed to and returned from hooks.
    • Adds hook execution planning and matching, giving the runtime a structured way to select and schedule which hooks fire.
    • Enables alternate terminal buffer by default, keeping the shell history clean after gemini-cli exits.
    • Grants subagents a recovery turn when they hit TIMEOUT, MAX_TURNS, or NO_TOOL_CALL failures.
    +7 moreshow less
    • Logs recovery events (nudges) that occur inside a subagent for post-hoc debugging.
    • Enables the WriteTodos tool by default, letting the model maintain a persistent task list.
    • Adds support for listing available experiments via the core experiments API.
    • Integrates remote experiments configuration so experiment flags can be served dynamically.
    • Enables codebase investigator by default for preview users.
    • Adds semantic color to AI responses in the UI for faster visual parsing.
    • Uses dynamic port allocation for MCP OAuth instead of the hardcoded port 7777.
  66. v0.13.0-preview.0 Nov 5, 2025 · issue -285

    gemini-cli v0.13.0-preview.0 adds a validate command, hooks schema, extension reloading, model routing, kitty keyboard support, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.13.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.13.0-preview.0
    └──▷ HOW TO FIND IT
    Adjust the compression threshold live during a session without restarting — open Settings, find the threshold field, and change it (note: takes effect after restart).
    📍Press 's' to open Settings in the UI, navigate to 'model.compressionThreshold', edit the value, then restart gemini-cli for it to take effect.
    • Adds validate command for catching common package/CLI regressions.
    • Initial support for reloading extensions (MCP servers) in the CLI without a full restart.
    • Enables model routing for all users, automatically selecting the best model for each task.
    • Adds Hook Configuration Schema and Types, enabling lifecycle hook configuration.
    • Adds Kitty terminal protocol support for function keys.
    +15 moreshow less
    • Makes the context compression threshold editable directly in the UI settings.
    • Adds alternate buffer support for improved terminal rendering.
    • Grants subagents a recovery turn when they hit TIMEOUT, MAX_TURNS, or NO_TOOL_CALL failures.
    • Enforces a timeout for subagent execution.
    • Adds DarkGray to the ColorTheme for custom theme configuration.
    • Adds a response semantic color to the UI color theme.
    • Implements granular memory loaders for Just-In-Time (JIT) architecture.
    • Introduces release channel detection in the core.
    • Adds support for listing experiments via the core.
    • Adds auth_type and active extensions to StartSessionEvent OpenTelemetry logging.
    • Logs extension name with ToolCallEvent telemetry.
    • Handles untrusted folders on extension install and link.
    • Removes the context percentage from the footer by default.
    • Improves the API key authentication flow.
    • Adds policy engine documentation.
    └──▷ BREAKING ON UPGRADE
    • !The model.compressionThreshold setting now requires a restart to take effect.
  67. v0.12.0 Nov 4, 2025 · issue -286

    gemini-cli v0.12.0 adds YOLO mode disable setting, extension aliases, sequential tool approval, and an executeCommand API endpoint.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.12.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.12.0
    • Adds a setting to disable YOLO mode, giving users control over autonomous tool execution.
    • Adds an extension alias for the /extensions command for faster CLI access.
    • Adds an executeCommand API endpoint with support for /extensions list.
    • Supports requesting extension settings during install via extension settings.
    • Implements sequential approval for tool execution, prompting confirmation one tool at a time.
    +4 moreshow less
    • Introduces a message bus for tool execution confirmation, enabling programmatic approval workflows.
    • Adds BYOID (Bring Your Own Identity) auth client support when BYOID credentials are detected.
    • Adds basic OpenTelemetry (OTEL) trace instrumentation for developer observability.
    • Supports recitation events in responses from the A2A Server.
  68. v0.13.0-nightly.20251103.9187f6f6 Nov 3, 2025 · issue -287

    gemini-cli v0.13.0-nightly adds Hook Configuration Schema and Types plus a new DarkGray color theme option.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.13.0-nightly.20251103.9187f6f6 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.13.0-nightly.20251103.9187f6f6
    • Adds Hook Configuration Schema and Types, enabling structured hook definitions for extending gemini-cli behavior.
    • Adds DarkGray to the ColorTheme options for terminal output customization.
  69. v0.13.0-nightly.20251101.caf2ca14 Nov 1, 2025 · issue -289

    gemini-cli v0.13.0-nightly adds Kitty function-key support, release channel detection, and untrusted-folder handling on extension install.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.13.0-nightly.20251101.caf2ca14 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.13.0-nightly.20251101.caf2ca14
    • Adds Kitty terminal support for function keys, enabling full keyboard navigation in Kitty-based environments.
    • Introduces release channel detection so the CLI can identify and report which release channel (stable, nightly, etc.) is in use.
    • Handles untrusted folders during extension install and link, prompting appropriately rather than silently proceeding.
    • Adds extension name to ToolCallEvent telemetry, giving operators visibility into which extension triggered each tool call.
    • Adds slow-rendering metric and logging to telemetry, enabling detection of UI performance regressions.
  70. v0.13.0-nightly.20251031.c89bc30d Oct 31, 2025 · issue -290

    gemini-cli v0.13.0-nightly adds a validate command, extension reload support, model routing for all users, and editable compression threshold.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.13.0-nightly.20251031.c89bc30d https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.13.0-nightly.20251031.c89bc30d
    • Adds validate command for checking CLI configuration or extension correctness.
    • Supports reloading extensions (MCP servers) without restarting the CLI session.
    • Enables model routing for all users, previously limited to a subset.
    • Allows the compression threshold to be edited interactively in the UI.
    • Logs extension ID alongside tool call and slash command invocations for better traceability.
    └──▷ BREAKING ON UPGRADE
    • !The default compression threshold has changed, which may alter when context compression is triggered in existing sessions.
  71. v0.13.0-nightly.20251030.42c79c64 Oct 30, 2025 · issue -291

    gemini-cli v0.13.0-nightly adds a config-based policy engine, extension explore subcommand, keychain-stored extension settings, and response recording for testing.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.13.0-nightly.20251030.42c79c64 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.13.0-nightly.20251030.42c79c64
    └──▷ TRY IT
    Record live model responses during a session so they can be replayed deterministically in tests.
    $ gemini --record-responses
    Discover the tools and capabilities exposed by an installed extension without starting a full chat session.
    $ gemini extension explore
    • New config-based policy engine with TOML configuration for enforcing tool confirmation guards via message bus settings.
    • New explore subcommand for extensions, enabling discovery of extension capabilities from the CLI.
    • Adds support for sensitive, keychain-stored per-extension settings to protect extension credentials.
    • New --record-responses flag to record model responses for use in testing workflows.
    • Adds OpenTelemetry-compliant semantic standard logging, including dev OTEL trace instrumentation and a Genkit telemetry/dev UI setup script.
    +4 moreshow less
    • Granular memory loaders implemented for JIT (just-in-time) architecture in core.
    • Improved API key authentication flow for a smoother onboarding experience.
    • Debug drawer keybinding changed to F12.
    • Adds auth_type and loaded extensions to StartSessionEvent OTel telemetry for richer session observability.
  72. v0.11.0 Oct 29, 2025 · issue -292

    gemini-cli v0.11.0 adds stream-JSON headless output, markdown toggle, Todo List tab, up-arrow message editing, and telemetry activity monitor.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.11.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.11.0
    └──▷ TRY IT
    Pipe structured, line-delimited JSON from a headless gemini-cli session into downstream tooling for programmatic parsing.
    $ gemini --output-format stream-json -p "Summarize the CVEs in this report" < report.txt | jq '.text'
    Toggle between rendered Markdown and raw text to inspect model output formatting or copy clean code blocks.
    $ # While gemini-cli is running, press:
    alt+m
    List all registered MCP servers including their extension names to verify your extension-provided servers are loaded.
    $ gemini mcp list
    • Adds --output-format stream-json flag for headless mode to emit streaming JSON output.
    • Adds alt+m keyboard shortcut to toggle between rendered Markdown and raw text in responses.
    • Adds a Todo List Tab (TodoTray) for tracking in-session tasks.
    • Enables editing queued messages using the up-arrow key before they are sent.
    • Displays extension names in gemini mcp list command output.
    +7 moreshow less
    • Adds educative/witty tips during loading times for in-tool learning.
    • Adds 'Esc to close' visual hint to SettingsDialog and other dialogs.
    • Adds ASK_USER policy decision UI wired up via the message bus.
    • Adds telemetry activity monitor with event-driven snapshots.
    • Suppresses slash command execution and suggestions inside shell mode.
    • Removes the ctrl+t binding for /mcp commands and reorganizes MCP slash commands.
    • Improves directory autocomplete by omitting trailing space after directory names.
    └──▷ BREAKING ON UPGRADE
    • !The --all-files flag has been removed (deprecated flag dropped); scripts or workflows using it will fail.
    • !Deprecated telemetry flags have been removed; any invocations relying on those flags will fail.
    • !Workspace extensions and their migration support have been removed; workspace-scoped extension configurations will no longer work.
  73. v0.12.0-preview.0 Oct 29, 2025 · issue -292

    gemini-cli v0.12.0-preview.0 adds sequential approval, YOLO-mode disable setting, extension aliases, and BYOID auth support.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.12.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.12.0-preview.0
    └──▷ TRY IT
    Call the new executeCommand endpoint to list extensions programmatically via the API.
    $ curl -X POST http://localhost:<port>/executeCommand -H 'Content-Type: application/json' -d '{"command": "/extensions list"}'
    • Adds extension alias for the extensions command for shorter CLI invocations.
    • New setting to disable YOLO mode, giving users explicit control over auto-approval behavior.
    • Implements sequential approval flow for tool execution confirmation via a message bus.
    • Adds extension settings prompting on install, so extensions can request required config at setup time.
    • Adds executeCommand endpoint with support for /extensions list in the API surface.
    +4 moreshow less
    • Supports Bring Your Own Identity (BYOID) authentication by automatically creating a BYOID auth client when BYOID credentials are detected.
    • Adds basic OpenTelemetry (OTel) trace instrumentation for developer observability.
    • Supports recitation events in responses from the A2A Server.
    • Bumps bundled ripgrep version, improving search performance.
  74. v0.12.0-nightly.20251027.cb0947c5 Oct 27, 2025 · issue -294

    gemini-cli v0.12.0-nightly adds sequential tool approval, ID token auth, BYOID support, and A2A recitation events.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.12.0-nightly.20251027.cb0947c5 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.12.0-nightly.20251027.cb0947c5
    • Introduces a message bus for tool execution confirmation, enabling structured approval workflows for tool calls.
    • Implements sequential approval flow for reviewing and approving tool executions one at a time.
    • Adds ID token support for authenticating to MCP servers.
    • Adds BYOID (Bring Your Own Identity) auth client support when BYOID credentials are detected.
    • Adds support for recitation events in responses from A2A servers.
    +2 moreshow less
    • Bumps bundled ripgrep version for improved search capabilities.
    • Supports HTTP redirects in internal fetchJson calls.
  75. v0.12.0-nightly.20251023.c4c0c0d1 Oct 23, 2025 · issue -298

    gemini-cli v0.12.0-nightly adds an executeCommand endpoint with /extensions list support and extension install-time settings requests.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.12.0-nightly.20251023.c4c0c0d1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.12.0-nightly.20251023.c4c0c0d1
    • Adds executeCommand endpoint supporting /extensions list to query installed extensions programmatically.
    • Extensions can now declare and request user settings at install time.
    • Surfaces internal errors through a unified event system for more consistent error visibility.
  76. v0.12.0-nightly.20251023.a7faa208 Oct 23, 2025 · issue -298

    gemini-cli v0.12.0-nightly adds MCP prompt commands in non-interactive mode, loop-detection override, extensions alias, and a YOLO-mode disable setting.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.12.0-nightly.20251023.a7faa208 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.12.0-nightly.20251023.a7faa208
    • Enables running MCP prompt commands in non-interactive (scripted/piped) mode.
    • Continues a request after the user disables loop detection mid-session.
    • Adds extension as a short alias for the extensions command.
    • Adds a setting to disable YOLO mode (auto-approve all tool calls).
    • Adds logging for extensions activity.
  77. v0.10.0 Oct 22, 2025 · issue -299

    gemini-cli v0.10.0 adds a code-guide command, interactive shell by default, smart edit enabled by default, GOOGLE_CLOUD_PROJECT_ID fallback, and failed-response retry.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.10.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.10.0
    └──▷ TRY IT
    Use GOOGLE_CLOUD_PROJECT_ID as a fallback when GOOGLE_CLOUD_PROJECT is not set, avoiding auth failures in environments where only the _ID variant is configured.
    $ GOOGLE_CLOUD_PROJECT_ID=my-project-123 gemini
    • Adds code guide command for codebase investigation workflows.
    • Enables interactive shell by default, improving command execution experience.
    • Enables useSmartEdit by default for smarter, context-aware file edits.
    • Supports GOOGLE_CLOUD_PROJECT_ID environment variable as a fallback for project configuration.
    • Adds automatic retry with extra prompt on failed model responses.
    +7 moreshow less
    • Shortens the context overflow message when usage is below 75% of the limit.
    • Generalizes path correction across tools for more reliable file targeting.
    • Improves shell execution service reliability.
    • Exposes Codebase Investigator settings to users via the settings dialog.
    • Adds screen reader mode notification support.
    • Supports extension pre-releases for early access to extension updates.
    • Shows final install path in the extension consent dialog.
  78. v0.11.0-preview.0 Oct 22, 2025 · issue -299

    gemini-cli v0.11.0-preview.0 adds stream-JSON headless output, markdown toggle, Todo List tab, and up-arrow message editing.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.11.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.11.0-preview.0
    └──▷ TRY IT
    Stream structured JSON output in a headless/scripted pipeline to parse Gemini responses programmatically.
    $ gemini --output-format stream-json -p "Summarize the security findings in report.txt"
    Toggle between rendered Markdown and raw text while reviewing a response — useful when you need to copy raw syntax.
    $ # While in the gemini-cli interactive session, press:
    alt+m
    List MCP servers to see which extension each one belongs to.
    $ gemini mcp list
    • Adds --output-format stream-json flag for headless mode to stream structured JSON output.
    • Adds alt+m keyboard shortcut to toggle between rendered Markdown and raw text in the CLI.
    • Adds a Todo List tab (TodoTray) to surface and track to-do items in the UI.
    • Enables editing of queued messages using the up arrow key before they are sent.
    • Displays extension names in gemini mcp list output for easier identification.
    +7 moreshow less
    • Blends educational tips with witty phrases during loading times.
    • Adds 'Esc to close' visual hint to SettingsDialog and other dialogs.
    • Improves directory autocomplete by not appending a trailing space after directory names.
    • Suppresses slash command execution and suggestions while in shell mode.
    • Wires up UI for ASK_USER policy decisions, enabling interactive permission prompts via the message bus.
    • Adds activity monitor with event-driven telemetry snapshots.
    • Updates shell tool call colors to visually distinguish confirmed actions.
    └──▷ BREAKING ON UPGRADE
    • !The --all-files flag has been removed (deprecated flag dropped).
    • !Deprecated telemetry flags have been removed.
    • !Support for workspace extensions and migrations has been removed.
    • !The ctrl+t key binding for /mcp commands has been removed.
  79. v0.11.0-nightly.20251021.e72c00cf Oct 21, 2025 · issue -300

    gemini-cli v0.11.0-nightly adds a message bus and policy engine, plus full extension passing to context.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.11.0-nightly.20251021.e72c00cf https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.11.0-nightly.20251021.e72c00cf
    • Implements a message bus and policy engine for internal event routing and rule enforcement.
    • Passes whole extensions (not just context files) to the model context, giving richer extension-aware sessions.
  80. v0.11.0-nightly.20251020.a96f0659 Oct 20, 2025 · issue -301

    gemini-cli v0.11.0-nightly adds model routing, stream-JSON headless output, markdown toggle, todo list tab, and more UI capabilities.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.11.0-nightly.20251020.a96f0659 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.11.0-nightly.20251020.a96f0659
    └──▷ TRY IT
    Stream structured JSON output line-by-line from a headless gemini-cli invocation for pipeline integration.
    $ gemini --output-format stream-json -p "Summarize the CVEs in this advisory: $(cat advisory.txt)"
    Inspect MCP servers registered via extensions, now showing the extension name alongside each server.
    $ gemini mcp list
    Toggle between rendered Markdown and raw model output while reviewing a response in the terminal.
    $ # While a response is displayed in gemini-cli, press: Alt+m
    • Enables Model Routing to automatically direct prompts to the best-fit model.
    • Adds --output-format stream-json flag for streaming JSON output in headless/non-interactive mode.
    • Adds alt+m keyboard shortcut to toggle between rendered Markdown and raw text in the terminal.
    • Introduces a dedicated Todo List Tab (TodoTray) in the UI for tracking task lists generated during sessions.
    • Includes the extension name in gemini mcp list command output for clearer MCP server identification.
    +5 moreshow less
    • Surfaces ASK_USER policy decision prompts in the UI message bus, enabling interactive permission flows.
    • Allows editing queued messages using the up-arrow key before they are sent.
    • Displays educative tips blended with witty phrases during loading times.
    • Adds 'Esc to close' visual hint across dialogs (Settings, and other closeable dialogs).
    • Suppresses slash command execution and autocomplete suggestions inside shell command input.
    └──▷ BREAKING ON UPGRADE
    • !The deprecated --all-files flag has been removed; invocations using it will fail.
    • !Deprecated telemetry flags have been removed; any scripts or configs referencing them will break.
    • !Additional deprecated flags removed in this release will cause failures if still passed on the command line.
    • !Workspace extensions and their migration support have been removed; workspace-scoped extension configurations will no longer work.
    • !The ctrl-t key binding for /mcp commands has been removed.
  81. v0.10.0-preview.0 Oct 17, 2025 · issue -304

    gemini-cli v0.10.0-preview.0 adds failed-response retry, context-overflow protection, GOOGLE_CLOUD_PROJECT_ID fallback, and a new code guide command.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.10.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.10.0-preview.0
    └──▷ TRY IT
    Use GOOGLE_CLOUD_PROJECT_ID as a fallback when GOOGLE_CLOUD_PROJECT is not set, avoiding manual flag overrides.
    $ export GOOGLE_CLOUD_PROJECT_ID=my-gcp-project && gemini
    • Adds automatic retry of failed model responses via an extra prompt, improving resilience in long sessions.
    • Adds context window overflow protection to stop chat from exceeding limits when sending messages.
    • Supports GOOGLE_CLOUD_PROJECT_ID as a fallback environment variable for project configuration.
    • Introduces a new code guide command for codebase investigation workflows.
    • Enables interactive shell by default for shell command execution.
    +7 moreshow less
    • Enables useSmartEdit by default for more reliable in-place file edits.
    • Generalizes path correction logic across all file-related tools.
    • Improves shell execution service reliability on all platforms.
    • Adds telemetry for subagent execution, web_fetch fallback attempts, diff stats in tool call metrics, and flicker detection.
    • Exposes Codebase Investigator settings to users via the settings dialog.
    • Optimizes Windows IDE process detection from O(N) to O(1).
    • Adds screen reader mode notification support.
  82. v0.9.0 Oct 15, 2025 · issue -306

    gemini-cli v0.9.0 adds subagent support, OpenTelemetry metrics, session auto-cleanup, and memory list subcommand.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.9.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.9.0
    └──▷ TRY IT
    List all GEMINI.md memory files currently loaded, useful when debugging which context files are active across nested project directories.
    $ gemini memory list
    Restrict the tools the agent may call in a non-interactive CI pipeline, now that --allowed-tools works in headless mode.
    $ gemini --allowed-tools read_file,run_shell_command -p "Summarize the test failures in the last run"
    • Adds enableSubagents configuration option to enable subagent registration and orchestration.
    • Adds OpenTelemetry GenAI semantic convention metrics for telemetry instrumentation.
    • Adds automatic session cleanup with a configurable retention policy.
    • Adds memory list subcommand to display the paths of all active GEMINI.md files.
    • Enables --allowed-tools flag in non-interactive (headless) mode.
    +3 moreshow less
    • Introduces debug logging for the IDE extension.
    • Enforces auth token validation in the VS Code IDE companion extension.
    • Adds sensitive keyword linter to flag potential credential leaks in prompts.
    └──▷ BREAKING ON UPGRADE
    • !The --path argument for the extensions install command has been removed.
  83. v0.10.0-nightly.20251015.996c9f59 Oct 15, 2025 · issue -306

    Codebase investigator now enabled by default in gemini-cli nightly.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.10.0-nightly.20251015.996c9f59 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.10.0-nightly.20251015.996c9f59
    • Enables the codebase investigator feature by default ahead of the next preview release.
  84. v0.10.0-nightly.20251014.0a3e492e Oct 14, 2025 · issue -307

    gemini-cli v0.10.0-nightly adds a code guide command, Alt+key combos, shell approval rework, and screen reader notifications.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.10.0-nightly.20251014.0a3e492e https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.10.0-nightly.20251014.0a3e492e
    • Adds a code guide command for codebase guidance workflows.
    • Supports Alt+key keyboard combinations in the interactive UI.
    • Reworks shell command approval flow for improved usability.
    • Shows notifications in screen reader mode for accessibility.
    • Enables useSmartEdit by default for smarter in-place edits.
    +3 moreshow less
    • Exposes Codebase Investigator settings to users via the settings dialog.
    • Adds flicker detection and metrics to the UI.
    • Optimizes Windows IDE process detection from O(N) to O(1) lookup.
  85. v0.10.0-nightly.20251010.558be873 Oct 10, 2025 · issue -311

    gemini-cli v0.10.0-nightly adds generalized path correction, failed-response retry, diff stats in telemetry, and a full-width display setting.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.10.0-nightly.20251010.558be873 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.10.0-nightly.20251010.558be873
    • Generalizes path correction logic across all tools, improving reliability when referencing files in any tool context.
    • Adds automatic retry of failed model responses via an extra prompt, reducing dead-end interactions.
    • Adds diff stats to tool call metrics in telemetry for richer observability of file-editing operations.
    • Adds a full-width display setting for narrow screen layouts.
  86. v0.10.0-nightly.20251009.ae02236c Oct 9, 2025 · issue -312

    Generalized path correction now applies across all tools in gemini-cli.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.10.0-nightly.20251009.ae02236c https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.10.0-nightly.20251009.ae02236c
    • Extends automatic path correction to work across all tools, not just a single tool.
  87. v0.10.0-nightly.20251009.cd354aeb Oct 9, 2025 · issue -312

    gemini-cli v0.10.0-nightly adds session auto-cleanup, memory list, --allowed-tools in non-interactive mode, and context-overflow protection.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.10.0-nightly.20251009.cd354aeb https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.10.0-nightly.20251009.cd354aeb
    └──▷ TRY IT
    List all GEMINI.md memory file paths to audit which context files are active in your workspace.
    $ gemini memory list
    Run a scripted, non-interactive task while restricting which tools the agent may call.
    $ echo 'Summarize the README' | gemini --allowed-tools read_file
    Use GOOGLE_CLOUD_PROJECT_ID instead of GOOGLE_CLOUD_PROJECT when your environment already exports the former.
    $ export GOOGLE_CLOUD_PROJECT_ID=my-gcp-project && gemini 'list buckets in this project'
    • Adds automatic session cleanup and retention policy to manage old sessions.
    • New list subcommand for memory command lists paths of all GEMINI.md files.
    • Enables --allowed-tools flag in non-interactive (piped/scripted) mode.
    • Adds context window overflow protection to prevent failures when sending large chats.
    • Supports GOOGLE_CLOUD_PROJECT_ID as a fallback environment variable alongside GOOGLE_CLOUD_PROJECT.
    +8 moreshow less
    • Introduces debug logging for the IDE extension.
    • Enforces auth token validation in the VS Code IDE companion extension.
    • Adds support for extension pre-releases.
    • Adds memory monitor telemetry with activity-aware recording.
    • Adds telemetry for subagent execution.
    • Adds telemetry for web_fetch fallback attempts.
    • Enables interactive shell by default.
    • Conditionally applies CodebaseInvestigator in the system prompt for more targeted codebase analysis.
    └──▷ BREAKING ON UPGRADE
    • !The --path argument for the extensions install command has been removed.
  88. v0.8.0 Oct 7, 2025 · issue -314

    gemini-cli v0.8.0 adds IAP/Cloud Run MCP support, model router, screen reader layout, tool output truncation, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.8.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.8.0
    • Enables model router by default and exposes it in the settings dialog.
    • Adds service account impersonation provider to MCPServers to support IAP-protected Cloud Run endpoints.
    • Enables tool output truncation by default to keep context windows manageable.
    • Adds content-based retries for JSON generation when the model returns malformed output.
    • Adds AbortSignal support for retry logic and tool execution, enabling clean cancellation.
    +12 moreshow less
    • Implements centralized screen reader layout for accessibility.
    • Adds a setting to display Gemini's status or thoughts in the terminal title and taskbar icon.
    • Adds extension name auto-complete to /extensions update command.
    • Adds enable/disable indicator in the extensions list.
    • Uses lastPromptTokenCount to more accurately determine when context compression is needed.
    • Makes compression algorithm slightly more aggressive to reduce context pressure.
    • Sandbox images now pushed to Docker Hub instead of GHCR.
    • Throws a descriptive error for invalid extension names.
    • Adds character-level edit metrics and performance monitoring APIs to telemetry.
    • Relaxes JSON schema validation to accept a broader range of MCP tool schemas.
    • Reduces UI margin on narrow screens and reflows footer contents.
    • Adds a confirmation dialog when updating extensions.
  89. v0.9.0-preview.0 Oct 7, 2025 · issue -314

    gemini-cli v0.9.0 adds subagent support, OpenTelemetry GenAI metrics, session auto-cleanup, and a memory list subcommand.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.9.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.9.0-preview.0
    └──▷ TRY IT
    Audit which GEMINI.md memory files are active in your project hierarchy without opening each one.
    $ gemini memory list
    Run a one-shot prompt in CI and restrict the model to only specific tools, now supported in non-interactive mode.
    $ gemini --allowed-tools read_file,shell_command -p "Summarize the security findings in REPORT.md"
    • Adds enableSubagents configuration option to enable and register subagents within gemini-cli.
    • Adds OpenTelemetry GenAI semantic convention metrics for telemetry instrumentation.
    • Adds automatic session cleanup and retention policy to manage stored sessions.
    • Adds list subcommand to memory command to display paths of all GEMINI.md files.
    • Enables --allowed-tools flag in non-interactive mode.
    +2 moreshow less
    • Introduces debug logging for the IDE extension.
    • Enforces auth token validation in the VS Code IDE companion extension.
    └──▷ BREAKING ON UPGRADE
    • !The --path argument for the extensions install command has been removed.
  90. v0.9.0-nightly.20251002.0f465e88 Oct 2, 2025 · issue -318

    gemini-cli v0.9.0-nightly adds debug logging for the IDE extension and GitHub repo URL trailing-slash support.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.9.0-nightly.20251002.0f465e88 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.9.0-nightly.20251002.0f465e88
    • Adds debug logging to the IDE extension for easier troubleshooting of extension behavior.
    • Supports GitHub repo URLs with a trailing slash, removing a previous input restriction.
  91. v0.9.0-nightly.20251002.a6af7bbb Oct 2, 2025 · issue -318

    gemini-cli nightly adds IDE extension debug logging and agent submit_final_output tool

    └──▷ GET THIS VERSION
    $ git clone --branch v0.9.0-nightly.20251002.a6af7bbb https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.9.0-nightly.20251002.a6af7bbb
    • Introduces submit_final_output tool for agent completion workflows in the agents subsystem.
    • Adds debug logging to the IDE extension for easier troubleshooting of extension behavior.
    • Supports GitHub repo URLs with a trailing slash, removing a friction point when pasting URLs.
  92. v0.9.0-nightly.20251002.4a70d6f2 Oct 2, 2025 · issue -318

    gemini-cli v0.9.0-nightly adds debug logging for the IDE extension and accepts GitHub repo URLs with trailing slashes.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.9.0-nightly.20251002.4a70d6f2 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.9.0-nightly.20251002.4a70d6f2
    • Adds debug logging to the IDE extension for easier troubleshooting of extension behavior.
    • Supports GitHub repo URLs with a trailing slash, removing a common friction point when pasting URLs.
  93. v0.9.0-nightly.20251002.460ec602 Oct 2, 2025 · issue -318

    gemini-cli v0.9.0-nightly adds debug logging for IDE extensions and accepts GitHub repo URLs with trailing slashes.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.9.0-nightly.20251002.460ec602 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.9.0-nightly.20251002.460ec602
    • Supports GitHub repo URLs with a trailing slash as valid input.
    • Adds debug logging to the IDE extension.
  94. v0.9.0-nightly.20251002.99958c68 Oct 2, 2025 · issue -318

    gemini-cli now accepts GitHub repo URLs with a trailing slash

    └──▷ GET THIS VERSION
    $ git clone --branch v0.9.0-nightly.20251002.99958c68 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.9.0-nightly.20251002.99958c68
    • Supports GitHub repo URLs with a trailing slash as valid input
  95. v0.9.0-nightly.20251001.14dbda91 Oct 1, 2025 · issue -319

    gemini-cli v0.9.0-nightly adds regex search/replace editing, subagent support, and OpenTelemetry GenAI metrics.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.9.0-nightly.20251001.14dbda91 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.9.0-nightly.20251001.14dbda91
    └──▷ USE IT
    Enable subagents in your gemini-cli config to allow the CLI to delegate tasks to registered sub-agents.
    json
    # In your gemini-cli settings (e.g., settings.json)
    { "enableSubagents": true }
    • Adds regex search/replace support to the Smart Edit tool for more precise in-file editing.
    • Adds enableSubagents configuration option to enable and register subagents.
    • Introduces a Declarative Agent Framework for defining agents declaratively.
    • Adds OpenTelemetry GenAI semantic convention metrics for standardized observability of LLM usage.
    • Adds Smart Edit Strategy Logging to surface which edit strategy was selected.
    └──▷ BREAKING ON UPGRADE
    • !The model router is now disabled by default (--routing / model router behavior changes for existing setups relying on automatic model routing).
  96. v0.8.0-preview.1 Oct 1, 2025 · issue -319

    gemini-cli v0.8.0-preview.1 adds model router, IAP support, accessibility improvements, tool output truncation, and smarter context compression.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.8.0-preview.1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.8.0-preview.1
    • Enables model router by default and exposes it in the settings dialog.
    • Adds service account impersonation provider to MCP servers to support Identity-Aware Proxy (IAP) on Cloud Run.
    • Implements centralized screen reader layout for accessibility.
    • Enables tool output truncation by default to manage context window usage.
    • Adds content-based retries for JSON generation to handle malformed model responses.
    +17 moreshow less
    • Uses lastPromptTokenCount to more accurately determine when context compression is needed.
    • Adds a setting to display Gemini status or model thoughts in the terminal title and taskbar icon.
    • Adds AbortSignal support for retry logic and tool execution, enabling proper cancellation.
    • Adds name auto-complete to the /extensions update command.
    • Adds an enable/disable indicator to the extensions list.
    • Re-requests user consent when updating extensions that require it.
    • Shows a confirmation dialog before applying extension updates.
    • Throws an error for invalid extension names to surface misconfiguration early.
    • Escapes ANSI control codes from model output before rendering to the terminal.
    • Adds character-level edit metrics to telemetry.
    • Sandbox images are now pushed to Docker Hub instead of GHCR.
    • Supports standard GitHub release archive format for distribution.
    • Uses dynamic client registration endpoint from config (when available) instead of re-performing OAuth discovery.
    • Relaxes JSON schema validation for broader MCP tool compatibility.
    • Improves compression algorithm aggressiveness to reduce context size.
    • Removes border from user messages and colors > prompt for improved UI readability.
    • Reduces margin on narrow screens and reflows footer contents for better layout.
  97. v0.7.0 Oct 1, 2025 · issue -319

    gemini-cli v0.7.0 adds auto-updating git extensions, policy engine config, global telemetry/debug/proxy flags, and custom commands in headless mode.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.7.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.7.0
    └──▷ TRY IT
    Restrict which tools Gemini may call using a comma-separated list in one flag.
    $ gemini --allowed-tools read_file,run_shell_command 'Review the Dockerfile and explain any risks'
    • Adds auto-updating support for git-sourced extensions, keeping installed extensions current without manual intervention.
    • Enables policy engine configuration directly from existing settings.
    • Promotes --telemetry, --debug, and --proxy flags to global scope, making them available across all subcommands.
    • Supports custom commands in non-interactive/headless mode, enabling scripted workflows.
    • Emits a warning when memory usage exceeds 7 GB.
    +6 moreshow less
    • Adds extensions release flow support for simpler extension publishing.
    • Includes MCP Server name in ToolCallEvent OpenTelemetry logging for richer observability.
    • Adds CORS and host validation hardening to the VS Code IDE companion server.
    • Supports rendering function calls and responses when sharing chat to markdown.
    • Supports comma-separated values for --allowed-tools.
    • Adds activity detector with user interaction tracking to telemetry.
    └──▷ BREAKING ON UPGRADE
    • !The shell setting usePty is renamed to enableInteractiveShell; existing configs referencing usePty will stop working.
  98. v0.8.0-nightly.20250930.ae51bbda Sep 30, 2025 · issue -320

    gemini-cli v0.8.0-nightly adds tab-completion for extension names in /extensions update.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.8.0-nightly.20250930.ae51bbda https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.8.0-nightly.20250930.ae51bbda
    • Adds extension name auto-complete to the /extensions update command, reducing manual lookup of exact extension names.
  99. v0.8.0-nightly.20250929.ae387b61 Sep 29, 2025 · issue -321

    gemini-cli v0.8.0-nightly adds a confirmation dialog for extension updates and a red threshold indicator for status color.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.8.0-nightly.20250929.ae387b61 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.8.0-nightly.20250929.ae387b61
    • Adds a confirmation dialog when updating extensions, giving users a chance to review before applying changes.
    • Adds a red threshold level to the status color utility, enabling clearer visual alerting at critical usage levels.
    • Improves narrow-screen layout by reducing margins and reflowing footer contents for better usability on small terminals.
  100. v0.8.0-nightly.20250929.a49a09f1 Sep 29, 2025 · issue -321

    gemini-cli v0.8.0-nightly adds content-based retries for JSON generation to improve reliability.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.8.0-nightly.20250929.a49a09f1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.8.0-nightly.20250929.a49a09f1
    • Adds content-based retries for JSON generation, automatically retrying when the model returns malformed or invalid JSON responses.
  101. v0.8.0-nightly.20250929.042288e7 Sep 29, 2025 · issue -321

    gemini-cli v0.8.0-nightly adds IAP/Cloud Run MCP support, terminal-title status display, and default tool output truncation.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.8.0-nightly.20250929.042288e7 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.8.0-nightly.20250929.042288e7
    • Adds service account impersonation provider to MCPServers, enabling IAP authentication for Cloud Run-hosted MCP endpoints.
    • New setting to display Gemini status (or model thoughts) in the terminal title bar and taskbar icon.
    • Enables tool output truncation by default to manage large tool responses.
    • Makes context compression more aggressive and uses lastPromptTokenCount to more accurately trigger compression.
    └──▷ BREAKING ON UPGRADE
    • !Tool output truncation is now enabled by default, which may change behavior for workflows that relied on full, untruncated tool output being passed to the model.
  102. v0.8.0-nightly.20250927.19400ba8 Sep 27, 2025 · issue -323

    gemini-cli v0.8.0-nightly adds screen reader support and a cleaner user message UI.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.8.0-nightly.20250927.19400ba8 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.8.0-nightly.20250927.19400ba8
    • Implements centralized screen reader layout for improved accessibility.
    • Removes border from user messages and colors the > prompt for improved readability.
  103. v0.8.0-nightly.20250926.2defdcff Sep 26, 2025 · issue -324

    gemini-cli v0.8.0-nightly adds a ToDo tool, auto-updating git extensions, policy engine config, and custom commands in headless mode.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.8.0-nightly.20250926.2defdcff https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.8.0-nightly.20250926.2defdcff
    └──▷ TRY IT
    Restrict which tools the model may call, specifying multiple tools in one flag without repeating it.
    $ gemini --allowed-tools read_file,grep,shell_exec "Audit all TODO comments in src/"
    • Adds a built-in ToDo tool to track ongoing task lists during a session.
    • Supports auto-updating git extensions, keeping installed extensions current without manual reinstall.
    • Enables policy engine configuration directly from existing settings.
    • Custom commands now work in non-interactive/headless mode.
    • Promotes --telemetry, --debug, and --proxy flags to global scope, usable with any subcommand.
    +5 moreshow less
    • Supports comma-separated values for --allowed-tools.
    • Adds MCP Server name to ToolCallEvent OpenTelemetry logging for richer trace attribution.
    • Adds a simple extensions release flow, including GitHub Release extension support without requiring pre-built assets.
    • Supports rendering function calls and responses when sharing chat to markdown.
    • Hardens the VS Code IDE companion server with CORS and host validation.
    └──▷ BREAKING ON UPGRADE
    • !The shell setting usePty is renamed to enableInteractiveShell; existing configs using usePty will break.
  104. v0.6.0 Sep 24, 2025 · issue -326

    gemini-cli v0.6.0 adds JSON output, /chat share, Ctrl+R history search, interactive shell, ripgrep by default, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.6.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.6.0
    └──▷ TRY IT
    Search command history interactively to re-run a previous prompt without retyping it.
    $ # Inside a gemini-cli session, press Ctrl+R then type keywords to fuzzy-search prior commands
    Update all installed gemini-cli extensions to their latest versions in one step.
    $ gemini extensions update
    • Adds --output json format flag for machine-readable CLI output.
    • New /chat share command to share the current conversation.
    • Adds Ctrl+R command history search for previously run prompts.
    • Adds Ctrl+Z / Ctrl+R undo/redo shortcuts in the input editor.
    • Enables interactive commands via a virtual terminal in the shell tool.
    +13 moreshow less
    • Enables ripgrep (rg) by default for faster file search, with automatic re-download if the binary is deleted.
    • Adds .geminiignore support to the glob tool for excluding files from searches.
    • New extensions update command to update installed extensions.
    • Supports installing a git extension at a specific ref and checking for extension updates.
    • Adds a permission prompt when installing a local extension that includes MCP servers.
    • Displays local/remote labels for MCP servers in the extensions list.
    • Auto-approves pending tool calls when auto-edit (accept-edits) or yolo mode is activated.
    • Adds a confirmation dialog for disabling loop detection for the current session.
    • Caps shell output truncation threshold to the remaining context window size.
    • Adds auth token validation and support to the VS Code IDE companion server and IdeClient.
    • Introduces classifier-based model routing strategy and a useModelRouter feature flag.
    • Hybrid and encrypted OAuth token storage when the corresponding security flags are enabled.
    • Stateful extensions list UI showing per-extension update status.
  105. v0.7.0-preview.0 Sep 24, 2025 · issue -326

    gemini-cli v0.7.0-preview.0 adds policy engine config, git extension auto-updates, headless custom commands, and global telemetry/debug/proxy flags.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.7.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.7.0-preview.0
    └──▷ TRY IT
    Restrict which tools Gemini can call, specifying multiple tools in a single comma-separated argument.
    $ gemini --allowed-tools read_file,run_shell_command 'Summarize all TODO comments in this repo'
    Enable debug output globally alongside a prompt, now that --debug is a global flag.
    $ gemini --debug 'What files changed in the last commit?'
    • Adds policy engine configuration from existing settings via feat(cli): configure policy engine from existing settings.
    • Supports auto-updating git extensions installed from GitHub release URLs.
    • Enables custom commands in non-interactive/headless mode.
    • Promotes --telemetry, --debug, and --proxy flags to global scope, usable with any subcommand.
    • Adds MCP Server name to ToolCallEvent OpenTelemetry logging for better tracing of MCP tool calls.
    +6 moreshow less
    • Emits a warning when memory usage exceeds 7 GB.
    • Adds a simple extensions release flow to support publishing extensions.
    • Supports rendering function calls and responses when sharing a chat session to Markdown.
    • Correctly supports comma-separated values for --allowed-tools.
    • Hardens the VS Code IDE companion server with CORS and host validation.
    • Improves parsing of GitHub extension source URIs.
    └──▷ BREAKING ON UPGRADE
    • !The shell setting usePty is renamed to enableInteractiveShell; existing configs using usePty will stop working.
  106. v0.7.0-nightly.20250918.2722473a Sep 18, 2025 · issue -332

    gemini-cli v0.7.0-nightly adds JSON output, /chat share, Ctrl+R history search, ripgrep by default, interactive shell, and undo/redo.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.7.0-nightly.20250918.2722473a https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.7.0-nightly.20250918.2722473a
    └──▷ TRY IT
    Search your session history to re-run a previous prompt without retyping it.
    $ # Inside an active gemini-cli session, press Ctrl+R then type keywords to fuzzy-search prior commands
    Update all installed gemini-cli extensions to their latest versions.
    $ gemini extensions update
    • Adds --output json flag for machine-readable JSON output format.
    • New /chat share slash command to share the current chat session.
    • Adds Ctrl+R command history search in the input prompt.
    • Adds Ctrl+Z / Ctrl+R undo/redo shortcuts in the input editor.
    • Enables ripgrep by default for faster file search, with auto-redownload if the binary is deleted.
    +15 moreshow less
    • Supports interactive commands via a virtual terminal in the shell tool.
    • New extensions update command to update installed extensions.
    • Supports installing a git extension at a specific ref and checking for git extension updates.
    • Adds .geminiignore support to the glob tool to exclude files from searches.
    • Auto-approves pending tool calls when auto_edit or yolo mode is activated.
    • Adds a confirmation dialog for disabling loop detection for the current session.
    • Caps shell output truncation threshold to the remaining context window size.
    • Adds permission prompt when installing a local extension that includes MCP servers.
    • Adds local/remote designation for MCP servers in extensions.
    • Adds auth token validation and support to the VS Code IDE companion server.
    • Introduces classifier-based model routing strategy and useModelRouter feature flag.
    • Introduces hybrid token storage when the corresponding security flag is enabled.
    • Introduces encrypted OAuth token storage flag.
    • Checks for IDE diffing capabilities before opening diffs, with an improved diff communication protocol.
    • IDE companion extension specification added, defining the diffing interface.
  107. v0.5.3 Sep 17, 2025 · issue -333

    gemini-cli v0.5.3 adds docs/git/PR-review commands, runtime ripgrep download, MCP slash-command discovery, and large tool-output auto-summarization.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.5.3 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.5.3
    └──▷ TRY IT
    Install an extension by passing the source as a positional argument (new syntax replaces the old flag).
    $ gemini extensions install <source>
    • Adds new /docs, /git, and PR-review slash commands for common developer workflows.
    • Downloads ripgrep at runtime when enabled, removing the need to pre-install it.
    • Improves discoverability of MCP server slash commands in the UI autocomplete and /help.
    • Automatically saves large shell-command tool outputs to a file and returns a truncated summary to stay within context limits.
    • Adds enum option support for settings, enabling constrained drop-down style configuration values.
    +3 moreshow less
    • Makes source a positional argument for the extensions install command, simplifying invocation.
    • Allows users to type input while waiting for MCP servers to initialize.
    • Adds hidden-property support for slash commands, letting commands opt out of autocomplete and /help discovery.
    └──▷ BREAKING ON UPGRADE
    • !Org/repo install support has been removed from the extensions install command.
    • !The source argument for extensions install is now a positional argument rather than a flag.
  108. v0.6.0-preview.2 Sep 17, 2025 · issue -333

    gemini-cli v0.6.0-preview.2 adds JSON output, /chat share, Ctrl+R history search, interactive shell, ripgrep by default, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.6.0-preview.2 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.6.0-preview.2
    └──▷ TRY IT
    Search your command history interactively to re-run a previous prompt without retyping.
    $ # Inside a gemini-cli session, press Ctrl+R then type keywords to search prior commands
    Update all installed gemini-cli extensions to their latest versions in one step.
    $ gemini extensions update
    • Adds --output json format flag for machine-readable CLI output.
    • New /chat share command to share the current chat session.
    • Adds Ctrl+R command history search for interactive use.
    • Adds Ctrl+Z / Ctrl+R undo/redo shortcuts in the input editor.
    • Enables ripgrep by default for faster file search, with automatic re-download if the binary is deleted.
    +16 moreshow less
    • Supports interactive commands with a virtual terminal in the shell tool.
    • Adds .geminiignore support to the glob tool for file exclusion.
    • New extensions update command to update installed extensions.
    • Adds support for installing extensions at a specific git ref.
    • Stateful extensions list UI showing per-extension update availability.
    • Permission prompt when installing a local extension that includes MCP servers.
    • Distinguishes local vs. remote MCP servers in the extensions UI.
    • Auto-approves pending tool calls when auto-edit/yolo mode is activated.
    • Confirmation dialog for disabling loop detection for the current session.
    • Caps shell output truncation threshold to the remaining context window size.
    • Classifier-based model routing strategy introduced behind the useModelRouter feature flag.
    • Hybrid token storage for credentials when the security flag is enabled.
    • Encrypted OAuth token storage via new encrypted OAuth flag.
    • Auth token validation and support added to the VS Code IDE companion server and client.
    • IDE diff capability detection before opening diffs in the companion extension.
    • JSON-formatted errors in non-interactive auth validation mode.
  109. v0.5.0-preview.1 Sep 11, 2025 · issue -339

    gemini-cli v0.5.0-preview.1 adds git/PR review commands, runtime ripgrep download, MCP slash command discoverability, and smarter tool output handling.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.5.0-preview.1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.5.0-preview.1
    └──▷ TRY IT
    Install an extension by passing the source as a positional argument instead of a flag.
    $ gemini extensions install <source>
    • Adds new /docs, /git, and /PR review slash commands for documentation lookup, git operations, and pull request review workflows.
    • Downloads ripgrep at runtime when enabled, removing the need for a pre-installed binary.
    • Saves large shell command tool outputs to a file and returns truncated lines to the model, preventing context overflow.
    • Improves discoverability of MCP slash commands in the UI.
    • Adds enum option support in settings.json for constrained setting values.
    +5 moreshow less
    • Makes source a positional argument in extensions install, simplifying the install invocation.
    • Allows users to type input while waiting for MCP servers to initialize.
    • Adds hidden property support for slash commands, enabling commands to opt out of autocompletion and /help discovery.
    • Moves scope settings into a new dedicated dialog for clearer configuration management.
    • Shifts IDE context filtering to the CLI side and updates port discovery logic for the IDE companion.
    └──▷ BREAKING ON UPGRADE
    • !Org/repo install support for extensions has been removed; extensions install no longer accepts org/repo targets.
  110. v0.6.0-nightly.20250910.a31830a3 Sep 10, 2025 · issue -340

    gemini-cli v0.6.0-nightly gains built-in docs, git, and PR review commands plus smarter tool-output summarization

    └──▷ GET THIS VERSION
    $ git clone --branch v0.6.0-nightly.20250910.a31830a3 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.6.0-nightly.20250910.a31830a3
    • Adds new built-in commands for docs lookup, git operations, and PR review workflows.
    • Limits long tool output summarization to shell commands only, reducing unnecessary token usage for other tool types.
    • Moves IDE context filtering to the CLI side and updates port discovery logic for IDE integrations.
    • Adds a reusable EnumSelector UI component, enabling richer interactive selection prompts.
    └──▷ BREAKING ON UPGRADE
    • !Org/repo install support has been removed; setups relying on installing extensions via org or repo references will break on upgrade.
  111. v0.5.0-preview Sep 10, 2025 · issue -340

    gemini-cli v0.5.0-preview adds docs/git/PR-review commands, runtime ripgrep download, and large tool-output file offloading.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.5.0-preview https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.5.0-preview
    └──▷ TRY IT
    Install an extension by passing its source as a positional argument (new syntax after the flag was removed).
    $ gemini extensions install <source>
    • Adds new /docs, /git, and PR-review slash commands for common developer workflows.
    • Downloads ripgrep at runtime (when enabled) instead of requiring a pre-installed binary.
    • Saves large shell-command tool outputs to a file and returns only truncated lines, preventing context overflow.
    • Improves discoverability of MCP slash commands in the UI.
    • Adds enum option support for settings fields, enabling constrained value selection.
    +4 moreshow less
    • Allows typing in the chat input while MCP servers are still loading.
    • Makes source a positional argument in the extensions install command.
    • Supports hidden slash commands that opt out of autocompletion and /help discovery.
    • Moves scope settings to a new dedicated dialog.
    └──▷ BREAKING ON UPGRADE
    • !The source argument for extensions install is now a positional argument instead of a flag; invocations using it as a named flag will break.
    • !Org/repo install support has been removed from extensions; setups relying on that install path will no longer work.
  112. v0.4.0 Sep 9, 2025 · issue -341

    gemini-cli v0.4.0 adds session recording, smart edits, fuzzy command matching, citations, extension linking, and more new CLI capabilities.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.4.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.4.0
    └──▷ TRY IT
    Get a summary of everything discussed after a long session, useful for handoff notes or audit trails.
    $ gemini --session-summary
    Link a locally developed extension into gemini-cli without publishing it, for rapid iteration.
    $ gemini extensions link <path>
    Pass a one-shot prompt directly on the command line for scripting or quick queries without entering interactive mode.
    $ gemini "Summarize the changes in the last 5 git commits"
    • Adds --session-summary flag to generate a summary at the end of a session.
    • Adds gemini extensions link command to link local extensions for development.
    • Adds flag to update all extensions at once.
    • Supports installing extensions using org/repo shorthand syntax.
    • Adds fuzzy matching for command suggestions when typing / commands.
    +16 moreshow less
    • Adds syntax highlighting for input /commands and @file/paths in the prompt.
    • Integrates chat recording into GeminiChat sessions.
    • Introduces a Smart Edit tool (internally named replace) for more precise file edits.
    • Shows citations at the end of each response turn; enabled by default for certain users.
    • Adds a Pro Quota dialog to surface quota information to users.
    • Adds Ctrl+Backspace keyboard shortcut to delete a word backward in the input.
    • Adds support for environment variable resolution inside extension configuration.
    • Adds enforcedAuthType setting to lock down authentication method.
    • Adds footer configuration settings for UI customization.
    • Adds support for nested .gitignore files when filtering project files.
    • Adds a positional argument for passing a prompt directly on the command line.
    • Adds an MCP loading indicator when initializing the CLI.
    • Skips MCP server connections in untrusted folders (folder trust enforcement).
    • Merges general settings from multiple configuration sources (user, project, etc.).
    • Simplifies MCP server timeout configuration.
    • Supports custom witty loading messages.
  113. v0.4.0-preview.4 Sep 9, 2025 · issue -341

    gemini-cli v0.4.0-preview.4 adds session summaries, fuzzy command matching, smart edits, citation display, extension linking, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.4.0-preview.4 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.4.0-preview.4
    └──▷ TRY IT
    Summarize a long session at the end to capture key decisions and outputs without scrolling back.
    $ gemini --session-summary
    Link a locally developed extension for testing without publishing it.
    $ gemini extensions link /path/to/my-extension
    Pass a one-shot prompt directly on the command line for scripting or quick queries.
    $ gemini "Summarize the changes in CHANGELOG.md"
    • Adds --session-summary flag to generate a summary of the current session.
    • Adds fuzzy matching for command suggestions when typing / commands.
    • Introduces a Smart Edit (replace) tool for more precise in-file edits aligned with the EditTool.
    • Shows citations at the end of each turn in responses.
    • Adds gemini extensions link command to link a local extension directory.
    +18 moreshow less
    • Adds a flag to update all installed extensions at once.
    • Supports installing extensions using org/repo shorthand syntax.
    • Adds syntax highlighting for /commands and @file/paths in the input prompt.
    • Adds footer configuration settings for UI customization.
    • Supports Ctrl+Backspace keyboard shortcut to delete a word backward in the input.
    • Handles nested .gitignore files for more accurate file filtering.
    • Adds enforcedAuthType setting to lock down authentication method.
    • Adds positional argument support for passing a prompt directly on the command line.
    • Adds a Pro Quota Dialog to surface quota information to users.
    • Adds MCP loading indicator during CLI initialization.
    • Adds custom witty loading messages.
    • Simplifies MCP server timeout configuration.
    • Integrates chat recording into GeminiChat sessions.
    • Merges general settings from multiple configuration sources.
    • Folder trust is now generally available with the feature flag removed.
    • MCP server connections are skipped in untrusted folders.
    • Extensions are refused from loading in untrusted workspaces.
    • VSCode workspace trust now overrides Gemini CLI folder trust when running in IDE mode.
  114. v0.5.0-nightly.20250909.2b05cf3b Sep 9, 2025 · issue -341

    gemini-cli v0.5.0-nightly adds runtime ripgrep download, enum settings options, and non-blocking MCP server input.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.5.0-nightly.20250909.2b05cf3b https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.5.0-nightly.20250909.2b05cf3b
    • Downloads ripgrep at runtime when enabled, removing the need to pre-install it for search functionality.
    • Adds support for enum options in settings, enabling constrained choices in configuration fields.
    • Moves scope settings to a dedicated new dialog for cleaner configuration management.
    • Allows users to type input while waiting for MCP servers to respond, eliminating forced idle time.
  115. v0.5.0-nightly.20250908.4693137b Sep 8, 2025 · issue -342

    gemini-cli v0.5.0-nightly gains improved MCP slash command discoverability and a new UIContext hook.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.5.0-nightly.20250908.4693137b https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.5.0-nightly.20250908.4693137b
    • Improves discoverability of MCP slash commands in the UI, making MCP integrations easier to find and use.
    • Introduces useUI hook and UIContext for richer programmatic UI interaction.
    • Allows slash commands to opt out of autocompletion and /help discovery for cleaner command surfaces.
  116. v0.4.0-preview.2 Sep 6, 2025 · issue -344

    gemini-cli v0.4.0-preview.2 adds session recording, smart edits, fuzzy command matching, citations, extension linking, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.4.0-preview.2 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.4.0-preview.2
    └──▷ TRY IT
    Get a written summary of everything discussed in the current session — useful for handoffs or saving context before closing.
    $ gemini --session-summary
    Link a locally developed extension into gemini-cli for testing without publishing it.
    $ gemini extensions link /path/to/my-extension
    Pass a prompt directly as a positional argument to drive gemini-cli non-interactively from scripts or CI.
    $ gemini "Summarize the changes in the last 10 git commits"
    • New --session-summary flag captures a summary of the current session.
    • Adds gemini extensions link command to link a local extension by path.
    • Adds flag to update all installed extensions at once.
    • Supports installing extensions using org/repo shorthand syntax.
    • New Smart Edit (replace) tool for more precise in-file edits aligned with the EditTool.
    +20 moreshow less
    • Integrates chat recording into GeminiChat via session recording support.
    • Adds fuzzy matching for slash-command suggestions in the CLI prompt.
    • Shows citations at the end of each conversation turn.
    • Adds syntax highlighting for /commands and @file/paths in the input prompt.
    • Adds footer configuration settings for UI customization.
    • Adds enforcedAuthType setting to lock down the authentication method.
    • Supports Ctrl+Backspace to delete a word backward in the input field.
    • Adds a Pro Quota Dialog to surface quota upgrade options.
    • Adds MCP loading indicator when initializing the CLI.
    • Handles nested .gitignore files for more accurate file filtering.
    • Adds a positional argument for passing a prompt directly on the command line.
    • Simplifies MCP server timeout configuration.
    • Supports resolving environment variables in extension configuration.
    • Merges general settings from multiple configuration sources.
    • Folder trust is now generally available — the feature flag has been removed.
    • MCP server connections are skipped in untrusted folders.
    • Extensions refuse to load from untrusted workspaces.
    • CLI now restarts automatically when folder trust settings change.
    • Screen reader accessibility updates for improved a11y support.
    • Adds support for custom witty loading messages.
  117. v0.5.0-nightly.20250906.968e9389 Sep 6, 2025 · issue -344

    gemini-cli v0.5.0-nightly adds extension update notifications, large tool output file offloading, and hidden slash commands.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.5.0-nightly.20250906.968e9389 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.5.0-nightly.20250906.968e9389
    └──▷ TRY IT
    Install an extension using the new positional source argument instead of a named flag.
    $ gemini extensions install <source>
    • Adds in-CLI notifications when a new extension version is available, with the ability to update directly from the prompt.
    • Saves large tool outputs to a file and returns truncated lines to the model, preventing context overflow on verbose shell commands.
    • Supports marking slash commands as hidden, enabling internal or developer-only commands that don't surface in the help UI.
    • Makes source a positional argument in extensions install, simplifying the install invocation.
    • Adds OpenTelemetry logging for FileOperationEvent, expanding observability coverage for file-based tool actions.
    +1 moreshow less
    • Improves performance of shell commands that produce large volumes of output.
    └──▷ BREAKING ON UPGRADE
    • !The telemetry fields ai_added_lines and ai_removed_lines are renamed to model_added_lines and model_removed_lines; any dashboards or pipelines consuming these field names will break.
  118. v0.4.0-preview.1 Sep 6, 2025 · issue -344

    gemini-cli v0.4.0-preview.1 adds session recording, smart edit, fuzzy command matching, citations, extension linking, and more new capabilities.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.4.0-preview.1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.4.0-preview.1
    └──▷ TRY IT
    Generate a summary of the current session's conversation at the end — useful for capturing context before closing a long working session.
    $ gemini --session-summary
    Link a locally developed extension into gemini-cli for testing without publishing it.
    $ gemini extensions link <path>
    Pass a prompt directly as a positional argument for quick one-shot queries or scripting.
    $ gemini "Summarize the file main.go"
    • Adds --session-summary flag to generate a summary at the end of a session.
    • Adds gemini extensions link command to link local extensions for development.
    • Adds flag to update all extensions at once.
    • Supports installing extensions using org/repo shorthand syntax.
    • Adds a Smart Edit (replace) tool for more precise, targeted file edits.
    +16 moreshow less
    • Adds fuzzy matching for slash-command suggestions in the CLI prompt.
    • Shows citations at the end of each response turn.
    • Adds syntax highlighting for /commands and @file/paths in the input prompt.
    • Adds footer configuration settings for UI customization.
    • Supports Ctrl+Backspace to delete a word backward in the input prompt.
    • Integrates chat recording into GeminiChat sessions.
    • Handles nested .gitignore files when determining file visibility.
    • Adds a Pro Quota Dialog to surface quota information to users.
    • Adds MCP loading indicator when initializing the CLI.
    • Skips MCP server connections in untrusted folders (folder trust enforcement).
    • Adds enforcedAuthType setting to lock down authentication method.
    • Simplifies MCP server timeout configuration.
    • Merges general settings from multiple configuration sources.
    • Supports a positional argument for the prompt (pass prompt directly on the command line).
    • Adds custom witty loading messages support.
    • Enables citations by default for eligible users.
  119. v0.4.0-preview Sep 4, 2025 · issue -346

    gemini-cli v0.4.0-preview adds session recording, smart edits, fuzzy commands, --session-summary, extension linking, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.4.0-preview https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.4.0-preview
    └──▷ TRY IT
    Generate a session summary at the end of a long agentic run to capture what was done.
    $ gemini --session-summary
    Pass a prompt directly as a positional argument for quick, scriptable one-shot queries.
    $ gemini 'Summarize the TODOs in this repo'
    Link a locally developed extension into gemini-cli without publishing it.
    $ gemini extensions link <path>
    • Adds --session-summary flag to generate a summary at the end of a session.
    • Integrates chat recording into GeminiChat via session recording support.
    • Introduces a Smart Edit (replace) tool for more precise in-file edits aligned with the EditTool.
    • Adds fuzzy matching for slash-command suggestions in the CLI.
    • Adds gemini extensions link command to link local extensions by path.
    +16 moreshow less
    • Adds flag to update all extensions at once.
    • Supports installing extensions using org/repo shorthand.
    • Supports resolving environment variables in extension configuration.
    • Adds Pro Quota Dialog to surface quota information to users.
    • Shows citations at the end of each turn.
    • Adds syntax highlighting for input /commands and @file/paths.
    • Adds footer configuration settings.
    • Supports nested .gitignore files for file filtering.
    • Adds Ctrl+Backspace keyboard shortcut to delete a word backward.
    • Adds enforcedAuthType setting to lock down authentication method.
    • Adds MCP loading indicator when initializing the CLI.
    • Skips MCP server connections in untrusted folders (folder trust enforcement).
    • Adds positional argument support for passing a prompt directly on the command line.
    • Simplifies MCP server timeout configuration.
    • Merges general settings from multiple configuration sources.
    • Adds custom witty loading messages.
  120. v0.3.0 Sep 4, 2025 · issue -346

    gemini-cli v0.3.0 adds extension management commands, screen reader mode, prompt completion, fuzzy search toggle, and custom theme file paths.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.3.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.3.0
    └──▷ TRY IT
    Install, list, and remove a CLI extension to extend gemini-cli's capabilities.
    $ gemini extensions install <extension-name>
    gemini extensions list
    gemini extensions uninstall <extension-name>
    • Adds extensions install, uninstall, update, and list subcommands for managing CLI extensions.
    • Introduces a screen reader mode flag for improved accessibility.
    • Adds prompt completion in interactive mode.
    • Adds option to disable fuzzy search.
    • Supports specifying themes as file paths instead of named themes only.
    +14 moreshow less
    • Supports IDE connections via stdio MCP transport.
    • Improves MCP prompt argument parsing for more robust MCP tool invocation.
    • Adds explicit license selection and visibility of license status.
    • Supports JSON Schema formats via ajv-formats for MCP tool validation.
    • Parallelizes memory discovery file operations for a significant performance improvement.
    • Adds debug logging of keystrokes for input troubleshooting.
    • Shares file list patterns between glob and grep tools for consistent filtering.
    • Introduces system defaults (as distinct from system overrides) in settings.
    • Enables editing of string settings directly from the settings UI.
    • Handles 401 authentication errors for MCP HTTP URL connections.
    • Handles special characters in file search paths.
    • Adds MCP tool count and MCP tool name as telemetry dimensions.
    • Logs MCP requests that result in errors for easier debugging.
    • Adds OTel logging for malformed JSON events.
  121. v0.4.0-nightly.20250904.e133acd2 Sep 4, 2025 · issue -346

    gemini-cli v0.4.0-nightly adds extension management commands, --allowed-tools flag, YOLO/AUTO_EDIT lockout for untrusted folders, and subagent streaming.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.4.0-nightly.20250904.e133acd2 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.4.0-nightly.20250904.e133acd2
    └──▷ TRY IT
    Run gemini non-interactively in CI without confirmation prompts for specific tools, reducing pipeline friction.
    $ gemini --allowed-tools read_file,shell -p "Summarize all TODO comments in the repo"
    • Adds extensions install command to install extensions from the CLI.
    • Adds extensions uninstall command to remove installed extensions.
    • Adds extensions list command to view installed extensions.
    • Adds extensions update command to update installed extensions.
    • Adds extensions enable and extensions disable commands to toggle extensions without uninstalling.
    +17 moreshow less
    • Adds initial set of extension variables for use within extensions.
    • Adds --allowed-tools flag to bypass tool confirmation prompts for specified tools.
    • Disables YOLO and AUTO_EDIT modes when operating in untrusted folders, preventing unattended destructive actions.
    • Enables incremental output streaming for subagent tasks.
    • Adds OIDC fallback to OAuth metadata lookup for MCP connections.
    • Shares file list patterns between glob and grep tools, so filtering patterns apply consistently across both.
    • Supports JSON Schema formats via ajv-formats for richer schema validation.
    • Adds @file processing support in TOML commands.
    • Adds session ID logging for non-interactive sessions in debug mode.
    • Displays usage details in the /tools command output.
    • Introduces system defaults (separate from system overrides) in configuration.
    • Standardizes exit codes across CLI operations.
    • Makes error messages more informative.
    • Adds A2A-server package to gemini-cli.
    • Adds OTel logging for MalformedJsonEvent events.
    • Enables Firebase Studio as a supported IDE install target.
    • Prompts users to migrate workspace extensions on upgrade.
    └──▷ BREAKING ON UPGRADE
    • !The CLI flags all_files and show_memory_usage have been removed.
  122. v0.3.0-preview.3 Sep 3, 2025 · issue -347

    gemini-cli v0.3.0-preview.3 adds extension management commands, prompt completion, screen reader mode, fuzzy search toggle, and custom theme file paths.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.3.0-preview.3 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.3.0-preview.3
    └──▷ TRY IT
    Install, list, and remove a CLI extension without leaving the terminal.
    $ gemini extensions install <extension-name>
    gemini extensions list
    gemini extensions uninstall <extension-name>
    Load a custom color theme from a local JSON file instead of a built-in theme name.
    $ gemini --theme /path/to/my-theme.json
    Disable fuzzy search when you need exact file/tool name matching in large repos.
    $ gemini --no-fuzzy-search
    • Adds extensions install, uninstall, update, and list subcommands for managing CLI extensions.
    • Adds prompt completion in the CLI interactive prompt.
    • Introduces a screen reader mode flag for improved accessibility.
    • Adds option to disable fuzzy search in file/tool search.
    • Supports specifying themes as file paths instead of only built-in theme names.
    +12 moreshow less
    • Supports IDE connections via stdio MCP transport.
    • Supports editing string settings directly from the settings UI.
    • Handles 401 authentication errors for MCP HTTP URL connections.
    • Improves MCP prompt argument parsing.
    • Logs MCP requests that result in errors for easier debugging.
    • Adds debug logging of keystrokes to aid input investigation.
    • Supports JSON schema formats via ajv-formats in tool schemas.
    • Shares file list patterns between glob and grep tools for consistency.
    • Parallelizes memory discovery file operations for a performance gain.
    • Adds explicit license selection and status visibility.
    • Adds OTel logging for malformed JSON events.
    • Retries message stream on empty chunks.
  123. v0.3.0-preview.2 Sep 2, 2025 · issue -348

    gemini-cli v0.3.0-preview.2 adds extension management commands, prompt completion, screen reader mode, fuzzy search toggle, and custom theme file paths.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.3.0-preview.2 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.3.0-preview.2
    └──▷ TRY IT
    Load a custom color theme from a local file instead of a built-in theme name.
    $ gemini --theme /path/to/my-theme.json
    • Adds extensions install command to install CLI extensions from the command line.
    • Adds extensions uninstall command to remove installed CLI extensions.
    • Adds extensions list command to view all installed extensions.
    • Adds extensions update command to update installed extensions.
    • Adds prompt completion support in the CLI for faster input.
    +18 moreshow less
    • Introduces a screen reader mode flag for accessibility.
    • Adds option to disable fuzzy search in file/tool lookups.
    • Supports specifying themes as file paths, enabling custom theme files.
    • Supports IDE connections via stdio MCP transport.
    • Improves MCP prompt argument parsing for better structured input handling.
    • Adds MCP error logging to include the originating MCP request alongside errors.
    • Handles 401 authentication errors for HTTP URL-based MCP connections.
    • Supports editing string settings directly from the settings UI.
    • Adds explicit license selection with status visibility in the UI.
    • Parallelizes memory discovery file operations for significant performance improvement.
    • Shares file list patterns between glob and grep tools for consistent filtering.
    • Supports special characters in file search paths.
    • Supports all content types in prompts from Zed IDE integration.
    • Adds debug logging of keystrokes to aid input investigation.
    • Supports JSON schema formats using ajv-formats in MCP tool schemas.
    • Introduces system defaults configuration (separate from system overrides).
    • Retries message stream on empty chunk responses for improved reliability.
    • Adds MCP tool count and MCP tool name as telemetry dimensions.
  124. v0.3.0-preview.1 Aug 28, 2025 · issue -353

    gemini-cli v0.3.0-preview.1 adds extension management commands, screen reader mode, prompt completion, fuzzy search toggle, and custom theme file paths.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.3.0-preview.1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.3.0-preview.1
    └──▷ TRY IT
    Install, list, and remove a CLI extension without manually editing config files.
    $ gemini extensions install <extension-name>
    gemini extensions list
    gemini extensions uninstall <extension-name>
    • Adds extensions install, uninstall, update, and list commands for managing CLI extensions.
    • Introduces a screen reader mode flag for improved accessibility.
    • Adds prompt completion support in the CLI REPL.
    • Supports specifying themes as file paths instead of built-in names only.
    • Adds an option to disable fuzzy search.
    +14 moreshow less
    • Supports editing string settings directly in the settings UI.
    • Adds IDE connection support via stdio MCP transport.
    • Supports MCP HTTP URL 401 error handling for authentication flows.
    • Improves MCP prompt argument parsing.
    • Includes MCP request details in error logs.
    • Shares file list patterns between glob and grep tools for consistent filtering.
    • Handles special characters in file search paths.
    • Supports JSON schema formats using ajv-formats in tool definitions.
    • Introduces system defaults (distinct from system overrides) for enterprise configuration.
    • Parallelizes memory discovery file operations for a significant performance gain.
    • Adds debug logging of keystrokes for diagnostic investigation.
    • Adds explicit license selection with status visibility.
    • Writes workspace path to IDE port file for improved IDE integration.
    • Supports all content types in prompts from Zed.
  125. v0.2.0 Aug 27, 2025 · issue -354

    gemini-cli v0.2.0 adds automatic conversation saving, Zed editor integration, MCP server restart, and auto-approval of trusted tools.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.2.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.2.0
    └──▷ TRY IT
    Restart a misbehaving MCP server mid-session without restarting the entire CLI.
    $ /mcp refresh
    • Adds automatic conversation saving via a new core ChatRecordingService that records sessions without manual intervention.
    • Integrates with the Zed editor to read and write files directly through Zed.
    • Adds /mcp refresh now restarts MCP servers in addition to reloading configuration.
    • Adds hideFooter setting to remove the footer from the CLI UI.
    • Adds skipNextSpeakerCheck setting for fine-grained control over conversation turn logic.
    +5 moreshow less
    • Auto-approves compatible pending tools when 'allow always' is selected, reducing repetitive confirmation prompts.
    • Shows /ide subcommands based on live connection status rather than a static ideMode boolean.
    • Includes IDE client information in /bug and /about output when IDE mode is active.
    • Adds file change tracking to session metrics.
    • Refactors shell execution to use node-pty, enabling proper pseudo-terminal support.
  126. v0.3.0-nightly.20250823.1a89d185 Aug 23, 2025 · issue -358

    gemini-cli v0.3.0-nightly adds fuzzy search toggle, file-path themes, improved MCP argument parsing, and license visibility.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.3.0-nightly.20250823.1a89d185 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.3.0-nightly.20250823.1a89d185
    └──▷ TRY IT
    Load a custom theme file from disk instead of relying on a built-in theme name.
    $ gemini --theme /path/to/my-theme.json
    • Adds option to disable fuzzy search for more precise result control.
    • Supports specifying themes as file paths, enabling custom theme files outside built-in options.
    • Improves MCP prompt argument parsing for more reliable MCP integrations.
    • Adds explicit license selection and status visibility in the CLI.
    • Includes programming language metadata in CLI telemetry events.
    +2 moreshow less
    • Logs MCP requests that result in errors for easier MCP debugging.
    • Adds debug logging of keystrokes to support input investigation.
  127. v0.3.0-nightly.20250822.15c62bad Aug 22, 2025 · issue -359

    gemini-cli v0.3.0-nightly adds prompt completion, screen reader mode, IDE stdio MCP connections, and editable string settings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.3.0-nightly.20250822.15c62bad https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.3.0-nightly.20250822.15c62bad
    • Adds prompt completion in the CLI for faster, tab-assisted input.
    • Introduces a screen reader mode flag for accessibility support.
    • Supports IDE connections via stdio MCP, enabling editor integrations.
    • Enables editing of string settings directly from the settings UI.
    • Adds graceful 401 error handling for HTTP URL MCP client connections.
    +1 moreshow less
    • Parallelizes memory discovery file operations for faster context loading.
  128. v0.3.0-nightly.20250821.653267a6 Aug 21, 2025 · issue -360

    gemini-cli v0.3.0-nightly adds stdin+prompt combining, HTTP OpenTelemetry, MCP server restart, automatic conversation saving, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.3.0-nightly.20250821.653267a6 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.3.0-nightly.20250821.653267a6
    └──▷ TRY IT
    Pipe file contents into gemini-cli while also supplying an inline prompt — useful for quick one-shot analysis in CI or shell scripts.
    $ cat findings.txt | gemini -p "Summarize the security findings above and suggest remediation steps"
    Restart a misbehaving MCP server mid-session without leaving the CLI — handy after updating an MCP tool's config.
    $ /mcp refresh
    • Supports combining -p and stdin for prompt input, enabling piped data to be merged with an inline prompt in non-interactive mode.
    • Adds HTTP OpenTelemetry exporter support for shipping traces to any OTLP-compatible backend.
    • Introduces ChatRecordingService for automatic conversation saving across sessions.
    • Adds /mcp refresh now restarts MCP servers in addition to refreshing their state.
    • Introduces a non-recursive file search strategy for faster file discovery in large repositories.
    +14 moreshow less
    • Adds MCP Root change notifications so MCP servers are informed when workspace roots change.
    • Includes disallowed command names in shell block reason messages for clearer audit output.
    • Adds argument support for shell execution in custom slash commands.
    • Displays untrusted workspace status in the CLI footer.
    • Shows /ide subcommands conditionally based on actual IDE connection status.
    • Adds IDE client name to /about and /bug output when IDE mode is active.
    • Adds session ID to session summary and /bug report template.
    • Adds GitHub OAuth support and resource parameter handling to the OAuth spec.
    • Logs telemetry event when chat context is compressed.
    • Tracks file changes as a session metric.
    • Reads and writes files through Zed editor integration.
    • Supports multi-folder workspaces in IDE mode.
    • Logs CLI version and git commit hash on startup.
    • Saves empty conversations (system context only) with /chat save.
  129. v0.2.0-preview.0 Aug 20, 2025 · issue -361

    gemini-cli v0.2.0-preview.0 adds automatic conversation saving, Zed editor integration, MCP server restart, and tool auto-approval.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.2.0-preview.0 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.2.0-preview.0
    └──▷ TRY IT
    Restart a misbehaving MCP server mid-session without quitting gemini-cli.
    $ /mcp refresh
    • Introduces ChatRecordingService for automatic conversation saving to session files.
    • Adds read/write file access through the Zed editor via IDE integration.
    • Adds hideFooter setting to hide the footer from the CLI UI.
    • Enables /mcp refresh to restart MCP servers in addition to refreshing them.
    • Shows /ide subcommands dynamically based on actual IDE connection status rather than a static boolean.
    +5 moreshow less
    • Adds IDE client information to /bug and /about output when IDE mode is enabled.
    • Adds skipNextSpeakerCheck setting to control speaker-check behavior in core.
    • Auto-approves compatible pending tools when 'allow always' is selected, reducing repetitive prompts.
    • Refactors shell execution to use node-pty for improved terminal emulation support.
    • Adds file change tracking metrics to session telemetry.
  130. v0.1.22 Aug 18, 2025 · issue -363

    gemini-cli v0.1.22 adds stdin+flag prompt combining, HTTP OpenTelemetry export, non-recursive file search, and shell argument support in custom commands.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.22 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.22
    └──▷ TRY IT
    Pipe a file's contents into gemini-cli while also supplying a prompt flag — useful for scripted code review in CI.
    $ cat findings.json | gemini -p "Summarize the critical findings in this report"
    • Supports combining -p flag with stdin so piped content and inline prompts can be used together in a single invocation.
    • Adds HTTP OpenTelemetry exporter support, enabling traces to be sent to any OTLP-compatible HTTP collector.
    • Introduces a non-recursive file search strategy for faster, shallower workspace scans.
    • Enables arguments for shell execution in custom slash commands, making custom commands more flexible and parameterizable.
    • Shows untrusted directory status in the footer UI, giving a persistent visual indicator of workspace trust state.
    +6 moreshow less
    • Adds session ID to session summary and /bug report template for easier cross-referencing of support issues.
    • Displays the IDE client's display name in /about output when running in IDE-integrated mode.
    • Shows the disallowed command name in the block reason when a shell command is denied.
    • Adds MCP Root change notifications so MCP servers are informed when workspace roots change.
    • Logs telemetry when chat context compression occurs, improving observability of context management.
    • Adds GitHub OAuth support and resource parameter to the OAuth spec implementation.
  131. v0.1.21 Aug 14, 2025 · issue -363

    gemini-cli v0.1.21 adds VS Code & Zed IDE integration, MCP OAuth, loop detection, custom themes, and a new /ide command suite.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.21 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.21
    └──▷ TRY IT
    Suppress the startup banner in scripted or automated sessions to keep output clean.
    $ echo '{"hideBanner": true}' >> ~/.gemini/settings.json
    Route all gemini-cli traffic through a corporate proxy.
    $ gemini --proxy http://proxy.corp.example.com:8080
    Check IDE integration status and install the companion extension from the CLI.
    $ gemini
    # then inside the session:
    /ide status
    /ide install
    • Introduces a VS Code companion extension (VSIX bundled with release) for IDE-aware sessions.
    • Adds Zed editor integration.
    • New /ide status and /ide install commands to manage IDE integration from the CLI.
    • Streams notifications when the active file changes in IDE mode, threading the open file into model context.
    • Adds MCP OAuth infrastructure (Part 1) for authenticated MCP server connections.
    +20 moreshow less
    • Introduces a loop detection service that automatically breaks simple agent loops, with LLM-based loop checking as a second layer.
    • Adds support for allowed/excluded MCP server name lists in settings.
    • Displays blocked MCP servers in the MCP status display.
    • Shows MCP server stderr output when running in debug mode.
    • New hideBanner setting to suppress the startup banner.
    • Adds an explicit --proxy option to route CLI traffic through a proxy.
    • Adds custom theme support via configuration.
    • Enables automatic detection of non-interactive environments, falling back to a code-based OAuth flow (useful for Docker/CI).
    • Displays declined confirmation code diffs so you can review what was rejected.
    • Runs model availability check in the background to speed up startup time.
    • Tool summarization is now opt-in: only enabled when explicitly set in settings.json.
    • Tool list is now sorted alphabetically for deterministic output.
    • Clears the input buffer on Ctrl+C when no command is executing.
    • Adds numbers to selection lists for faster keyboard-driven picking.
    • Hides the cursor when the terminal window is unfocused.
    • Light theme color improvements.
    • Enhanced OAuth callback for robust Docker support.
    • Slash commands now execute immediately on a perfect match without requiring an extra keypress.
    • Improved command completion trigger logic based on cursor position.
    • Uses simplified (short) names for MCP tools where unambiguous.
    └──▷ BREAKING ON UPGRADE
    • !Tool summarization is no longer enabled by default; it must be explicitly set in settings.json to remain active.
  132. v0.1.19-nightly.250814.514e883a Aug 14, 2025 · issue -363

    gemini-cli v0.1.19-nightly adds MCP tool filtering, extension listing, SVG support, Cloud Shell auth reuse, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.19-nightly.250814.514e883a https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.19-nightly.250814.514e883a
    └──▷ TRY IT
    Restrict an automated pipeline to only a trusted subset of configured MCP servers.
    $ gemini --allowed-mcp-server-names my-server,another-server
    Block specific noisy or high-risk tools exposed by an MCP server without removing the server entirely.
    json
    # In settings.json or .gemini/config.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "excludeTools": ["dangerous_tool", "verbose_tool"]
        }
      }
    }
    Discover which extensions are available and enable them from the command line.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at startup.
    • Adds excludeTools and includeTools options to mcpServers config to filter individual MCP tools per server.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for inline content handling.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +10 moreshow less
    • Adds user startup warnings and home directory checks to surface misconfigurations early.
    • Initializes MCP tools once at startup instead of on every auth cycle, improving performance.
    • Improves 429/quota error handling with Code Assist customer tier awareness.
    • Raises minimum required Node.js version to 20.
    • Displays YOLO mode shortcut inside /help output.
    • Improves isCommandAllowed error messages for clearer shell permission feedback.
    • Formats tool execution time as minutes and seconds instead of raw milliseconds.
    • Re-enables backtick usage in shell tool invocations.
    • Updates ASCII art to adapt to smaller terminal screens.
    • Consolidates all CLI flags to use hyphens; underscore variants are deprecated.
    └──▷ BREAKING ON UPGRADE
    • !The minimum Node.js version is now 20; setups running Node.js <20 will fail to run gemini-cli.
    • !All underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated in favour of hyphen-style equivalents (e.g. --allowed-mcp-server-names); underscore variants may stop working in a future release.
  133. v0.1.20 Aug 13, 2025 · issue -363

    gemini-cli v0.1.20 adds --approval-mode flag and a new VS Code IDE integration.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.20 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.20
    └──▷ TRY IT
    Run gemini-cli in an automated pipeline where you want to pre-approve all tool calls without manual confirmation.
    $ gemini --approval-mode auto
    • Adds --approval-mode parameter to control how the CLI handles tool-call approvals without interactive prompts.
    • Launches VS Code IDE integration, enabling gemini-cli to operate as a backend for the VS Code extension.
  134. v0.1.19-nightly.250813.9d023be1 Aug 13, 2025 · issue -363

    gemini-cli v0.1.19-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.19-nightly.250813.9d023be1 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.19-nightly.250813.9d023be1
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful when your config lists many servers but you only want a trusted subset active during a pentest session.
    $ gemini --allowed-mcp-server-names shodan,nuclei
    Limit the tools exposed by a specific MCP server so the agent cannot call dangerous endpoints — set in your gemini settings.json.
    json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "excludeTools": ["delete_resource", "shutdown"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are activated at startup.
    • Adds excludeTools and includeTools options in mcpServers config to filter individual tools exposed by an MCP server.
    • Adds a command-line option to enable and list extensions.
    • Supports .svg files as input via the @file mechanism.
    • Enables Gemini CLI to reuse the user's existing auth when running inside Google Cloud Shell.
    +12 moreshow less
    • Initializes MCP tools once at startup instead of on every auth cycle, reducing latency.
    • Adds user startup warnings and a home-directory check to catch common misconfigurations early.
    • Displays improved, context-aware error messages when a shell command is blocked by isCommandAllowed.
    • Shows YOLO mode shortcut inside /help output.
    • Raises the minimum required Node.js version to 20.
    • Consolidates all CLI flags to use hyphens (underscore variants are deprecated).
    • Formats tool execution time as minutes and seconds in the UI.
    • Improves 429/quota error handling, taking Code Assist customer tiers into account, and removes auto-execution Flash fallback on quota errors.
    • Improves auth environment-variable validation and messaging to detect settings that confuse the GenAI SDK.
    • Displays --help output at full terminal width.
    • Re-enables backtick usage in shell tool invocations.
    • Handles inline content modification in the tool scheduler.
    └──▷ BREAKING ON UPGRADE
    • !The minimum supported Node.js version is now 20; setups running Node.js < 20 will break on upgrade.
    • !All CLI flags have been consolidated to use hyphens; underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated and may stop working in a future release.
    • !The /chat command now requires a tag argument; existing scripts or muscle-memory invoking /chat without a tag will fail.
  135. v0.1.19 Aug 12, 2025 · issue -363

    gemini-cli v0.1.19 adds MCP management commands, fzf file completion, subagent architecture, /settings panel, and IDE diff support.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.19 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.19
    └──▷ TRY IT
    Open the interactive settings panel mid-session to inspect or change configuration without restarting.
    $ /settings
    • Adds gemini mcp add, gemini mcp remove, and gemini mcp list subcommands for managing MCP server configurations from the CLI.
    • Adds MCP Roots support for scoping MCP server access.
    • Detects tools with bad or cyclic schemas and automatically omits them with a warning rather than failing silently.
    • Introduces Foundational Subagent Architecture, enabling agent-spawning workflows within gemini-cli.
    • Adds @-command file path completion powered by fzf integration for faster, fuzzy file targeting.
    +15 moreshow less
    • Introduces /settings slash command and UI panel for in-session configuration management.
    • Adds overwrite confirmation dialog to /chat save to prevent accidental overwrites.
    • Supports in-IDE diff handling and rendering via the edit tool when running in IDE mode.
    • Adds folderTrust setting and launch dialog to control which folders the CLI trusts on startup.
    • Adds a configurable context percentage threshold for triggering automatic context compression.
    • Adds option to hide line numbers in code blocks (showLineNumbers config option).
    • Supports non-recursive file search mode.
    • Enables exiting the authentication menu with CTRL+C (SIGINT).
    • Adds double-ESC to clear the current input line.
    • Drops load-memory-from-include-directories CLI argument (removed from the CLI args surface).
    • Adds host validation to GoogleCredentialProvider for improved credential security.
    • Improves UI layout adaptation for narrow terminals.
    • Introduces DeclarativeTool and ToolInvocation primitives for tool authoring.
    • Adds a request queue to the tool scheduler to serialize concurrent tool invocations.
    • Hints VS Code users to enable IDE integration when detected.
    └──▷ BREAKING ON UPGRADE
    • !The load-memory-from-include-directories option is dropped from CLI args; any scripts or configs passing this flag will break.
  136. v0.1.18-nightly.250812.26fe587b Aug 12, 2025 · issue -363

    gemini-cli v0.1.18-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and per-server tool inclusion/exclusion.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.18-nightly.250812.26fe587b https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.18-nightly.250812.26fe587b
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup to reduce attack surface in automated pipelines.
    $ gemini --allowed-mcp-server-names filesystem,github
    Limit or expand which tools a specific MCP server exposes, keeping only the tools you actually need.
    json
    # In settings.json
    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
          "includeTools": ["read_file", "list_directory"],
          "excludeTools": ["write_file"]
        }
      }
    }
    List all available extensions from the command line to audit what is available before enabling.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are activated at startup.
    • Adds excludeTools and includeTools fields to mcpServers config for per-server tool filtering.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for inline content handling.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +11 moreshow less
    • Adds user startup warnings including a home directory check.
    • Initializes MCP tools once at startup instead of on every auth cycle, improving performance.
    • Adds improved error messages in isCommandAllowed for shell command permission denials.
    • Displays YOLO mode shortcut inside /help output.
    • Updates minimum required Node.js version to 20.
    • Improves 429/quota error handling with Code Assist customer tier awareness.
    • Removes auto-execution on Flash model during 429/quota failover.
    • Adds improved auth environment variable validation with clearer messaging for GenAI SDK conflicts.
    • Refactors all CLI flags to use hyphens; underscore variants are deprecated.
    • Improves handling of inline content modification in the tool scheduler.
    • Formats tool execution time display as minutes and seconds.
    └──▷ BREAKING ON UPGRADE
    • !Minimum Node.js version is now 20; setups running Node.js <20 will no longer work.
    • !All CLI flags are consolidated to use hyphens (e.g., --allowed-mcp-server-names); underscore-style flags (e.g., --allowed_mcp_server_names) are deprecated and may stop working in a future release.
    • !The /chat command now requires a tag argument; invocations without a tag will fail.
  137. v0.1.18-nightly.250811.2865a527 Aug 11, 2025 · issue -363

    gemini-cli v0.1.18-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and per-server tool inclusion/exclusion.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.18-nightly.250811.2865a527 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.18-nightly.250811.2865a527
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful in regulated environments where only approved servers should be active.
    $ gemini --allowed-mcp-server-names my-corp-server,approved-scanner
    Limit exactly which tools from a given MCP server are exposed to the model, reducing attack surface.
    json
    # In settings.json mcpServers block:
    {
      "mcpServers": {
        "my-corp-server": {
          "command": "npx my-corp-mcp",
          "includeTools": ["read_file", "list_dir"],
          "excludeTools": ["exec_shell"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are activated at startup.
    • Adds excludeTools and includeTools options to mcpServers config for per-server tool filtering.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for @file context inclusion.
    • Enables reuse of the user's existing auth token when running inside Google Cloud Shell.
    +9 moreshow less
    • Initializes MCP tools once at startup instead of re-initializing on every authentication event, reducing latency.
    • Adds user startup warnings including a home directory check.
    • Displays YOLO mode shortcut inside /help.
    • Updates minimum required Node.js version to 20.
    • Improves 429/quota error handling with awareness of Code Assist customer tiers.
    • Improves error messages in isCommandAllowed for shell command policy violations.
    • Updates ASCII art to adapt to smaller terminal screens.
    • Formats tool execution time display as minutes and seconds.
    • Adds general usage message to --help output, using full terminal width.
    └──▷ BREAKING ON UPGRADE
    • !The minimum required Node.js version is now 20; setups running Node.js <20 will break on upgrade.
    • !All CLI flags are consolidated to use hyphens; underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated and may not be recognized in future releases.
    • !The /chat command now requires a tag argument; invocations without a tag will fail.
  138. v0.1.18-nightly.250810.c632ec8b Aug 10, 2025 · issue -363

    gemini-cli v0.1.18-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and per-server tool inclusion/exclusion.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.18-nightly.250810.c632ec8b https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.18-nightly.250810.c632ec8b
    └──▷ TRY IT
    Restrict which MCP servers are activated at startup — useful when your config lists many servers but you only want a specific one active for a session.
    $ gemini --allowed-mcp-server-names my-server,another-server
    Limit which tools a specific MCP server exposes, reducing attack surface and noise from unused capabilities.
    json
    # in settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "includeTools": ["read_file", "list_dir"],
          "excludeTools": ["delete_file"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are loaded at startup.
    • Adds excludeTools and includeTools fields in mcpServers config to control which tools are exposed per MCP server.
    • Adds a command-line option to enable and list extensions.
    • Supports .svg files as input via the @file syntax.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +10 moreshow less
    • Improves 429/quota error handling with tier-aware messaging and removes auto-execution fallback to Flash on quota failover.
    • Displays YOLO mode shortcut inside /help output.
    • Adds user startup warnings and home directory check to catch common misconfiguration early.
    • Improves error messages in isCommandAllowed for shell tool permission denials.
    • Initializes MCP tools once at startup instead of on every auth cycle, reducing latency.
    • Updates minimum Node.js requirement to version 20.
    • Displays --help output using full terminal width.
    • Adds general usage message to --help output.
    • Updates ASCII art to adapt to smaller terminal screens.
    • All CLI flags consolidated to use hyphens; underscore variants are deprecated.
    └──▷ BREAKING ON UPGRADE
    • !The minimum required Node.js version is now 20; installations running Node.js < 20 will no longer work.
    • !All underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated in favor of hyphen-style equivalents (e.g. --allowed-mcp-server-names); underscore flags may stop working in a future release.
    • !/chat now requires a tag argument; invoking /chat without a tag will fail.
  139. v0.1.17-nightly.250809.f35921a7 Aug 9, 2025 · issue -363

    gemini-cli v0.1.17-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and per-server tool inclusion/exclusion.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.17-nightly.250809.f35921a7 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.17-nightly.250809.f35921a7
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful when your config defines many servers but you only want one active for a given task.
    $ gemini --allowed-mcp-server-names my-security-server
    Limit which tools a specific MCP server exposes — add includeTools or excludeTools under the server entry in settings.json.
    json
    {
      "mcpServers": {
        "my-security-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "includeTools": ["run_scan", "get_findings"],
          "excludeTools": ["delete_policy"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are activated at startup.
    • Adds excludeTools and includeTools options in mcpServers config to control which tools each MCP server exposes.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for inline content handling.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +9 moreshow less
    • Initializes MCP tools once at startup instead of on every auth cycle, reducing latency.
    • Adds user startup warnings including a home directory check.
    • Improves 429/quota error handling with awareness of Code Assist customer tiers.
    • Updates minimum Node.js version requirement to 20.
    • Displays YOLO mode shortcut inside /help.
    • Improves error messages in isCommandAllowed for shell command policy violations.
    • Improves auth environment variable validation and messaging to detect GenAI SDK misconfigurations.
    • Formats tool execution time display as minutes and seconds.
    • Adds general usage message to --help output using full terminal width.
    └──▷ BREAKING ON UPGRADE
    • !Underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated in favor of hyphen-style flags (e.g. --allowed-mcp-server-names); underscore variants may stop working in a future release.
    • !Minimum Node.js version is now 20; setups running Node.js below 20 will break on upgrade.
  140. v0.1.17-nightly.250808.60362e03 Aug 8, 2025 · issue -363

    gemini-cli v0.1.17-nightly adds MCP tool filtering, SVG support, Cloud Shell auth reuse, extension listing, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.17-nightly.250808.60362e03 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.17-nightly.250808.60362e03
    └──▷ TRY IT
    Restrict the CLI to only load specific MCP servers at startup, reducing attack surface in automated pipelines.
    $ gemini --allowed-mcp-server-names=my-server,another-server
    Allowlist or blocklist individual tools within a specific MCP server to limit what the model can invoke.
    json
    # In settings.json or .gemini/settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "includeTools": ["read_file", "list_dir"],
          "excludeTools": ["delete_file"]
        }
      }
    }
    List all available extensions to discover what's installed before enabling one for a session.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at startup.
    • Adds excludeTools and includeTools options in mcpServers config to filter tools per MCP server.
    • Adds a command-line option to enable and list extensions.
    • Supports .svg files as input (via @file or context).
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +10 moreshow less
    • Initializes MCP tools once at startup instead of on every auth event, reducing latency.
    • Adds user startup warnings including a home directory check.
    • Improves 429/quota error handling with Code Assist customer tier awareness.
    • Displays YOLO mode shortcut inside /help.
    • Improves error messages in isCommandAllowed for clearer shell tool denials.
    • Formats tool execution time as minutes and seconds.
    • Raises minimum Node.js version requirement to 20.
    • Improves auth environment variable validation and messaging to detect settings that confuse the GenAI SDK.
    • Consolidates all CLI flags to use hyphens (underscore variants are deprecated).
    • Adds general usage message to --help output and uses full terminal width for display.
    └──▷ BREAKING ON UPGRADE
    • !The minimum required Node.js version is now 20; setups running Node.js <20 will break on upgrade.
    • !All underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated in favor of hyphen-style flags (e.g. --allowed-mcp-server-names); underscore variants may stop working in a future release.
    • !The /chat command now requires a tag argument; existing workflows invoking /chat without a tag will break.
  141. v0.1.18 Aug 6, 2025 · issue -363

    gemini-cli v0.1.18 adds VS Code/Zed IDE integration, MCP OAuth, loop detection, proxy support, and custom themes.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.18 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.18
    └──▷ USE IT
    Suppress the ASCII startup banner in automated pipelines or when embedding gemini-cli in scripts.
    json
    # In your settings.json
    { "hideBanner": true }
    Route all gemini-cli traffic through a corporate or intercepting proxy for inspection or compliance.
    $ gemini --proxy http://proxy.corp.example.com:8080 "Summarize the findings in report.md"
    Install and check the status of the IDE companion integration from within gemini-cli.
    $ /ide install
    /ide status
    • Introduces a VS Code companion extension enabling IDE integration, with /ide status and /ide install commands to manage it.
    • Adds Zed editor integration alongside VS Code IDE mode.
    • Adds MCP OAuth infrastructure (Part 1) for authenticating MCP servers via OAuth.
    • Introduces a loop detection service that automatically breaks simple agentic loops, with LLM-based loop checking as a second layer.
    • Adds support for allowed/excluded MCP server name filtering in settings.
    +15 moreshow less
    • Shows blocked MCP servers in the UI display.
    • Shows MCP server stderr output when running in debug mode.
    • Adds hideBanner setting to suppress the startup banner.
    • Adds an explicit --proxy option to route CLI traffic through a proxy.
    • Enables custom theme support with user-defined theme logic.
    • Automatically detects non-interactive environments and falls back to a manual, code-based OAuth flow (e.g., for Docker).
    • Enhances OAuth callback handling for robust Docker support.
    • Displays the code diff of a declined confirmation, so users can review what was rejected.
    • Adds numbered entries to selection lists for faster keyboard navigation.
    • Tool summarization is now only enabled when explicitly set in settings.json.
    • Runs model availability check in the background to speed up CLI startup.
    • Hides the cursor when the terminal is unfocused.
    • MCP tools now use a simplified name where possible for cleaner output.
    • Slash command auto-completion now executes on a perfect match.
    • In IDE mode, streams notifications when the active file changes and includes it in model requests.
    └──▷ BREAKING ON UPGRADE
    • !Tool summarization is no longer enabled by default — it must now be explicitly set in settings.json to remain active.
  142. v0.1.17-nightly.250806.805114ae Aug 6, 2025 · issue -363

    gemini-cli v0.1.17-nightly adds MCP tool filtering, extension listing, SVG support, Cloud Shell auth reuse, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.17-nightly.250806.805114ae https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.17-nightly.250806.805114ae
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful when your config defines many servers but you only want to expose specific ones in a given session.
    $ gemini --allowed-mcp-server-names my-server,audit-server
    Filter which tools a specific MCP server exposes to the model — add to your settings.json to exclude noisy or dangerous tools from being called.
    json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "excludeTools": ["delete_database", "drop_table"]
        }
      }
    }
    List available extensions or enable one from the command line — useful for auditing which extensions are active in a scripted or headless context.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at launch.
    • Adds excludeTools and includeTools fields to mcpServers config for fine-grained MCP tool filtering.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for inline content handling.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +12 moreshow less
    • Adds user startup warnings and home directory check to surface misconfigurations early.
    • Displays YOLO mode shortcut inside /help output.
    • Initializes MCP tools once at startup instead of on every auth event, improving performance.
    • Improves 429/quota error handling with Code Assist customer tier awareness.
    • Updates minimum required Node.js version to 20.
    • All flags consolidated to use hyphens; underscore-style flags are deprecated.
    • Formats tool execution time as minutes and seconds in the UI.
    • Improves auth environment variable validation and messaging to detect SDK-confusing settings.
    • Adds improved error messages in isCommandAllowed for blocked shell commands.
    • Backtick usage re-enabled in the shell tool.
    • Respects respectGitIgnore=false config setting when using @file references.
    • Honors DEBUG and CLI_TITLE environment variables.
    └──▷ BREAKING ON UPGRADE
    • !The minimum Node.js version is now 20; setups running Node.js < 20 will break on upgrade.
    • !Underscore-style flags (e.g., --allowed_mcp_server_names) are deprecated in favor of hyphen-style equivalents (e.g., --allowed-mcp-server-names); underscore variants may stop working in a future release.
    • !The /chat command now requires a tag argument; existing workflows that invoke /chat without a tag will break.
  143. v0.1.17 Aug 5, 2025 · issue -363

    gemini-cli v0.1.17 adds IDE integration, MCP OAuth, loop detection, proxy support, custom themes, and new /ide commands.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.17 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.17
    └──▷ USE IT
    Suppress the startup banner in scripts or headless environments where it adds noise.
    json
    # In ~/.gemini/settings.json
    {
      "hideBanner": true
    }
    Route all gemini-cli traffic through a corporate proxy.
    $ gemini --proxy http://proxy.corp.example.com:8080
    Install the VS Code companion extension and check IDE integration status from the CLI.
    $ /ide install
    /ide status
    • Adds hideBanner setting to disable the startup banner.
    • Introduces VSCode companion extension for IDE integration with gemini-cli.
    • Adds /ide status and /ide install commands to manage IDE integration from the CLI.
    • Streams notifications to the CLI when the active file changes in the IDE, and includes the active file in model requests.
    • Introduces Zed editor integration.
    +19 moreshow less
    • Adds MCP OAuth infrastructure (Part 1) enabling OAuth-based authentication for MCP servers.
    • Adds support for allowed/excluded MCP server name lists in settings.
    • Introduces a loop detection service that automatically breaks simple agent loops, with LLM-based loop checking.
    • Adds stderr output from MCP servers visible in debug mode.
    • Shows blocked MCP servers in the MCP display.
    • Adds explicit --proxy option to the CLI.
    • Adds custom theme support.
    • Enhances OAuth callback for robust Docker environment support.
    • Automatically detects non-interactive environments and falls back to a manual code-based authentication flow.
    • Runs model availability check in the background to speed up startup.
    • Displays declined confirmation code diffs so users can review what was rejected.
    • Adds numbers to selection lists for faster keyboard-driven selection.
    • Sends API key in headers instead of the URL.
    • Sorts tool list alphabetically for deterministic output.
    • Enables tool summarization only when explicitly set in settings.json.
    • Clears the input buffer on CTRL+C when no command is executing.
    • Hides the cursor when the terminal is unfocused.
    • Uses simple names for MCP tools where possible to reduce verbosity.
    • Improves command completion trigger logic based on cursor position.
  144. v0.1.16-nightly.250805.99ba2f64 Aug 5, 2025 · issue -363

    gemini-cli v0.1.16-nightly adds MCP tool filtering, SVG support, Cloud Shell auth reuse, and a new extensions CLI flag.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.16-nightly.250805.99ba2f64 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.16-nightly.250805.99ba2f64
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup to reduce attack surface in automated pipelines.
    $ gemini --allowed-mcp-server-names my-server,audit-server
    Allowlist or blocklist specific tools from an MCP server in settings.json to limit what the model can invoke.
    json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "includeTools": ["read_file", "list_dir"],
          "excludeTools": ["exec_shell"]
        }
      }
    }
    List available extensions to discover what's enabled in the current environment.
    $ gemini --extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at runtime.
    • Adds excludeTools and includeTools fields to mcpServers config for per-server tool filtering.
    • Adds a command-line option (--extensions) to enable and list extensions.
    • Adds .svg file support for inline content handling.
    • Enables Gemini CLI to reuse the user's existing auth when running inside Google Cloud Shell.
    +9 moreshow less
    • Initializes MCP tools once at startup instead of on every auth event, reducing latency.
    • Adds user startup warnings and a home directory check to surface misconfigurations early.
    • Improves 429/quota error handling with tier-aware messaging for Code Assist customers.
    • Displays YOLO mode shortcut inside /help output.
    • Updates minimum required Node.js version to 20.
    • Improves auth environment variable validation to detect settings that confuse the GenAI SDK.
    • Formats tool execution time as minutes and seconds in the UI.
    • Displays --help output using the full terminal width.
    • Re-enables backtick usage in shell tool invocations.
    └──▷ BREAKING ON UPGRADE
    • !The minimum supported Node.js version is now 20; setups running Node.js < 20 will break on upgrade.
    • !All CLI flags are consolidated to use hyphens; underscore variants (e.g. --allowed_mcp_server_names) are deprecated and may stop working in a future release.
    • !The /chat command now requires a tag argument; invocations without a tag will fail.
  145. v0.1.16-nightly.250804.a8984a9b Aug 4, 2025 · issue -363

    gemini-cli v0.1.16-nightly adds MCP tool filtering, SVG support, Cloud Shell auth reuse, and a new extensions CLI flag.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.16-nightly.250804.a8984a9b https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.16-nightly.250804.a8984a9b
    └──▷ TRY IT
    Restrict which MCP servers are active at launch — useful when your config lists many servers but you only want to expose a trusted subset during a security review.
    $ gemini --allowed-mcp-server-names shodan,burp
    Whitelist only specific tools from an MCP server so the AI cannot invoke noisy or destructive tools in that server.
    json
    # in settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "my-mcp-server",
          "includeTools": ["read_file", "list_dir"]
        }
      }
    }
    List and enable extensions from the command line without entering the interactive UI.
    $ gemini --extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at launch.
    • Adds excludeTools and includeTools per-server config options in mcpServers to whitelist or blacklist individual MCP tools.
    • Adds a command-line option (--extensions) to enable and list extensions.
    • Adds .svg file support for inline content input.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +11 moreshow less
    • Improves 429/quota error handling with awareness of Code Assist customer tiers.
    • Initializes MCP tools once at startup instead of re-initializing on every auth cycle, reducing latency.
    • Adds startup warnings and home directory check to surface common misconfigurations early.
    • Displays the YOLO mode shortcut inside /help for discoverability.
    • Improves error messages in isCommandAllowed for clearer shell tool permission feedback.
    • Formats tool execution time as minutes and seconds.
    • Updates minimum Node.js requirement to version 20.
    • Respects respectGitIgnore=false config setting when using @file references.
    • Allows settings.json variable substitution to honor env variables defined in .env.
    • Re-enables backtick usage in shell tool invocations.
    • Adds general usage message to --help output and renders it at full terminal width.
    └──▷ BREAKING ON UPGRADE
    • !The --allowed_mcp_server_names flag is renamed to --allowed-mcp-server-names; underscore-style flags are deprecated across the board (all flags now use hyphens).
    • !Minimum Node.js version is now 20; setups running Node.js < 20 will break on upgrade.
    • !The /chat command now requires a tag argument; invocations without a tag will fail.
  146. v0.1.15-nightly.250803.820169ba Aug 3, 2025 · issue -363

    gemini-cli v0.1.15-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and per-server tool inclusion/exclusion.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.15-nightly.250803.820169ba https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.15-nightly.250803.820169ba
    └──▷ TRY IT
    Restrict the CLI to only connect to a specific subset of configured MCP servers, useful when you want to audit or limit tool surface in a security-sensitive session.
    $ gemini --allowed-mcp-server-names my-server,audit-server
    Exclude noisy or risky MCP tools from a specific server while keeping the rest available, without touching other server configs.
    json
    # In settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "excludeTools": ["dangerous_tool", "write_file"]
        }
      }
    }
    List all available extensions to discover what's installed before enabling one for a session.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers the CLI connects to at startup.
    • Adds excludeTools and includeTools config options per mcpServers entry to fine-tune which MCP tools are exposed.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for inline content handling.
    • Enables reuse of the user's existing auth in Google Cloud Shell, avoiding re-authentication.
    +10 moreshow less
    • Adds user startup warnings and a home directory check to catch common misconfiguration early.
    • Improves 429/quota error handling with tier-aware messaging for Code Assist customers.
    • MCP tools now initialize once at startup instead of on every auth cycle, reducing latency.
    • Displays YOLO mode shortcut inside /help for discoverability.
    • Improves error messages in isCommandAllowed to surface more actionable detail.
    • Updates minimum Node.js requirement to v20.
    • All CLI flags consolidated to use hyphens; underscore variants deprecated.
    • Execution time now formatted as minutes and seconds in the UI.
    • ASCII art adapts to smaller terminal screen widths.
    • --help output now uses the full terminal width.
    └──▷ BREAKING ON UPGRADE
    • !Minimum required Node.js version raised to 20; installations running Node.js <20 will no longer work.
    • !All underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated in favour of hyphen-style equivalents (e.g. --allowed-mcp-server-names); scripts using underscore flags will need updating.
    • !/chat now requires a tag argument; invocations without a tag will fail.
  147. v0.1.16 Aug 2, 2025 · issue -363

    gemini-cli v0.1.16 adds IDE integration with VS Code & Zed, MCP OAuth, loop detection, custom themes, and proxy support.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.16 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.16
    └──▷ USE IT
    Suppress the startup banner in scripts or automated pipelines where it clutters output.
    json
    # In your settings.json:
    { "hideBanner": true }
    Route all gemini-cli traffic through a corporate or debugging proxy.
    $ gemini --proxy http://proxy.corp.example.com:8080
    Check IDE integration status and install the VS Code companion extension from within gemini-cli.
    $ /ide status
    /ide install
    • Adds hideBanner setting to disable the startup banner in settings.json.
    • Introduces VS Code companion extension for IDE integration with gemini-cli.
    • Adds Zed editor integration.
    • Adds /ide status and /ide install commands to manage IDE integration from the CLI.
    • Shows the active file open in the IDE in the context section above the input box during IDE sessions.
    +19 moreshow less
    • Streams notifications to gemini-cli when the active file changes in the IDE.
    • Adds MCP OAuth infrastructure (Part 1) enabling OAuth-based authentication for MCP servers.
    • Adds support for allowed/excluded MCP server name filtering in settings.json.
    • Shows stderr output from MCP servers in debug mode.
    • Shows blocked MCP servers in the MCP display.
    • Introduces a loop detection service that automatically breaks simple agent loops, with LLM-based loop checking.
    • Adds explicit --proxy option to the CLI.
    • Adds custom theme support.
    • Displays the code diff when a confirmation is declined.
    • Enables tool summarization only when explicitly set in settings.json.
    • Runs model availability check in the background to speed up startup.
    • Adds numbers to selection lists for faster picking.
    • Automatically detects non-interactive environments and falls back to a manual, code-based OAuth flow.
    • Clears input buffer on Ctrl+C when no command is executing.
    • Hides the cursor when the terminal is unfocused.
    • Enhances OAuth callback for robust Docker support.
    • Sorts the tool list alphabetically for deterministic output.
    • Uses simple names for MCP tools where possible.
    • Moves API key to request header instead of URL.
  148. v0.1.15-nightly.250802.15a1f1af Aug 2, 2025 · issue -363

    gemini-cli v0.1.15-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.15-nightly.250802.15a1f1af https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.15-nightly.250802.15a1f1af
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful when a config file defines many servers but you only want one active in a given session.
    $ gemini --allowed-mcp-server-names my-server,audit-server
    Exclude a noisy or dangerous tool exposed by an MCP server without removing the server from your config.
    json
    # In settings.json or .gemini/settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "excludeTools": ["run_shell", "delete_file"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at launch.
    • Adds excludeTools and includeTools per-server options in mcpServers config to filter individual MCP tools.
    • Adds .svg file support for inline content input.
    • Adds a command-line option to enable and list extensions.
    • Enables Gemini CLI to reuse the user's existing auth when running inside Google Cloud Shell.
    +9 moreshow less
    • Initializes MCP tools once at startup instead of on every auth event, reducing latency.
    • Adds user startup warnings and a home directory check to surface misconfigurations early.
    • Improves 429/quota error handling with Code Assist customer tier awareness.
    • Updates ASCII art to adapt to smaller terminal screens.
    • Displays YOLO mode shortcut inside /help.
    • Improves error messages in isCommandAllowed for clearer shell policy feedback.
    • Formats tool execution time as minutes and seconds in the UI.
    • Requires Node.js version 20 or higher (minimum version raised from previous requirement).
    • Consolidates all CLI flags to use hyphens; underscore-style flags are deprecated.
    └──▷ BREAKING ON UPGRADE
    • !Node.js version 20 is now the minimum required version; setups running on older Node.js versions will break.
    • !/chat now requires a tag argument; bare /chat invocations without a tag will fail.
  149. v0.1.15-nightly.250801.6f7beb41 Aug 1, 2025 · issue -363

    gemini-cli v0.1.15-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and per-server tool include/exclude controls.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.15-nightly.250801.6f7beb41 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.15-nightly.250801.6f7beb41
    └──▷ TRY IT
    Restrict which MCP servers are activated at startup — useful when your config lists many servers but you only trust a subset for a given session.
    $ gemini --allowed-mcp-server-names my-safe-server,audit-server
    Limit an MCP server to only a specific subset of its tools, reducing the attack surface exposed to the model.
    json
    # In settings.json or .gemini/config.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "includeTools": ["read_file", "list_dir"]
        }
      }
    }
    List all available extensions to verify which are enabled before starting an investigation workflow.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are loaded at startup.
    • Adds excludeTools and includeTools per-server config keys in mcpServers to control which tools each MCP server exposes.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for inline content.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +9 moreshow less
    • Improves 429/quota error handling with Code Assist customer tier awareness.
    • Initializes MCP tools once at startup instead of on every auth cycle, improving load performance.
    • Adds user startup warnings and home directory checks to surface misconfigurations early.
    • Updates minimum Node.js requirement to version 20.
    • Displays YOLO mode shortcut inside /help.
    • Updates ASCII art to adapt to smaller terminal screens.
    • Formats tool execution time as minutes and seconds.
    • Improves isCommandAllowed error messages for clearer shell restriction feedback.
    • Respects .env file environment variables in settings.json variable substitution.
    └──▷ BREAKING ON UPGRADE
    • !The --allowed_mcp_server_names flag is renamed to --allowed-mcp-server-names; underscore-style flags are deprecated across the board in favor of hyphen-style flags.
    • !The minimum supported Node.js version is now 20; setups running Node.js 18 or earlier will break on upgrade.
  150. v0.1.15-nightly.250731.0c6f7884 Jul 31, 2025 · issue -364

    gemini-cli v0.1.15-nightly adds MCP tool filtering, extension listing, SVG support, Cloud Shell auth reuse, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.15-nightly.250731.0c6f7884 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.15-nightly.250731.0c6f7884
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful when you want to run only a trusted subset of configured servers.
    $ gemini --allowed-mcp-server-names my-server,another-server
    Filter the tools exposed by a specific MCP server in settings.json to limit the attack surface of an untrusted server.
    json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "includeTools": ["read_file", "list_dir"],
          "excludeTools": ["shell_exec"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are activated at runtime.
    • Adds excludeTools and includeTools fields to mcpServers config for per-server tool filtering.
    • Adds a command-line option to enable and list extensions (--extensions).
    • Supports .svg files as input via the @file reference syntax.
    • Enables auth reuse from Google Cloud Shell so users don't re-authenticate inside Cloud Shell sessions.
    +11 moreshow less
    • Adds user startup warnings and a home directory check to surface misconfigurations at launch.
    • Improves error messages in isCommandAllowed for clearer shell-tool permission feedback.
    • Initializes MCP tools once at startup instead of on every auth cycle, reducing latency.
    • Raises minimum required Node.js version to 20.
    • Improves 429/quota error handling with Code Assist customer-tier awareness.
    • Formats tool execution time display as minutes and seconds.
    • Consolidates all CLI flags to hyphen-style; underscore variants are deprecated.
    • Re-enables backtick usage in shell tool invocations.
    • Handles inline content modification in the tool scheduler.
    • Displays YOLO mode shortcut inside /help output.
    • Shows Ctrl+S shortcut to expand the debug console in the UI.
    └──▷ BREAKING ON UPGRADE
    • !All underscore-style flags are deprecated in favor of hyphen-style equivalents (e.g., --allowed_mcp_server_names--allowed-mcp-server-names); underscore variants may stop working in a future release.
    • !The minimum required Node.js version is now 20; setups running Node.js <20 will no longer work.
    • !/chat now requires a tag argument; invoking /chat without a tag will fail.
  151. v0.1.15 Jul 30, 2025 · issue -364

    gemini-cli v0.1.15 adds IDE integration, MCP OAuth, loop detection, proxy support, custom themes, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.15 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.15
    └──▷ USE IT
    Suppress the startup banner in headless or scripted environments by setting hideBanner in your config.
    yaml
    hideBanner: true
    Install the VS Code companion extension and check IDE integration status from within the CLI.
    $ /ide install
    /ide status
    • Adds hideBanner setting to disable the startup banner.
    • Introduces a VSCode companion extension for IDE integration, with /ide status and /ide install commands to manage it.
    • Adds Zed editor integration.
    • Introduces a loop detection service that identifies and breaks simple agentic loops, including an LLM-based loop check.
    • Adds MCP OAuth infrastructure (Part 1) to support authenticated MCP servers.
    +15 moreshow less
    • Adds support for allowed/excluded MCP server name lists in settings to control which MCP servers are active.
    • Adds an explicit --proxy option to route CLI traffic through a proxy.
    • Adds custom theme support for terminal color configuration.
    • Enables automatic detection of non-interactive environments with fallback to a manual code-based OAuth flow (improves Docker/CI support).
    • Shows stderr output from MCP servers when running in debug mode.
    • Shows blocked MCP servers in the /mcp display.
    • Displays the currently open IDE file in the context section above the input box during IDE mode.
    • Adds code diff display when a confirmation prompt is declined.
    • Adds numbers to selection lists for faster keyboard navigation.
    • Clears the input buffer on CTRL+C when no command is executing.
    • Hides the cursor when the terminal is unfocused.
    • Runs model availability check in the background to speed up startup.
    • Enables tool summarization only when explicitly set in settings.json.
    • Sorts tool list alphabetically for deterministic output.
    • Sends API key in the request header instead of the URL.
  152. v0.1.13-nightly.250730.091804c7 Jul 30, 2025 · issue -364

    gemini-cli v0.1.13-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and per-server tool include/exclude controls.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.13-nightly.250730.091804c7 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.13-nightly.250730.091804c7
    └──▷ TRY IT
    Restrict which MCP servers are active in a session — useful when you want to limit tool surface to only trusted servers in a security-sensitive workflow.
    $ gemini --allowed-mcp-server-names my-safe-server,audit-server
    Limit a noisy MCP server to only the specific tools you need, reducing unintended tool exposure.
    json
    # In settings.json or .gemini/settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "includeTools": ["read_file", "list_dir"]
        }
      }
    }
    List all available extensions to discover what capabilities are registered before enabling them.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are loaded at startup.
    • Adds excludeTools and includeTools per-server config options in mcpServers to control which MCP tools are exposed.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for inline content handling.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +10 moreshow less
    • Adds startup warnings and home directory check to surface configuration issues early.
    • Initializes MCP tools once at startup instead of on every auth cycle, improving startup performance.
    • Displays YOLO mode shortcut inside /help output.
    • Improves 429/quota error handling with Code Assist customer tier awareness.
    • Updates minimum required Node.js version to 20.
    • Shows --help output using the full terminal width.
    • Improves auth environment variable validation and messaging to detect settings that confuse the GenAI SDK.
    • Updates ASCII art to adapt to smaller terminal screens.
    • Handles inline content modification in the tool scheduler.
    • Improves error messages in isCommandAllowed for shell tool permission denials.
    └──▷ BREAKING ON UPGRADE
    • !The minimum supported Node.js version is now 20; setups running Node.js < 20 will break on upgrade.
    • !All CLI flags are consolidated to use hyphens; underscore variants (e.g. --allowed_mcp_server_names) are deprecated — scripts using underscore flags should be updated.
    • !/chat now requires a tag argument; invocations of /chat without a tag will no longer work.
  153. v0.1.13-nightly.250729.83c4dddb Jul 29, 2025 · issue -364

    gemini-cli v0.1.13-nightly adds MCP tool filtering, extension listing, SVG support, Cloud Shell auth reuse, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.13-nightly.250729.83c4dddb https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.13-nightly.250729.83c4dddb
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup to reduce attack surface in automated pipelines.
    $ gemini --allowed-mcp-server-names filesystem,github
    Filter which tools are exposed from a specific MCP server in settings.json, reducing the tool surface Gemini can invoke.
    json
    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"],
          "includeTools": ["read_file", "list_directory"]
        }
      }
    }
    List available extensions from the command line to audit what is enabled in the current environment.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are activated at startup.
    • Adds excludeTools and includeTools options in mcpServers config to filter individual MCP tools per server.
    • Adds a command-line option to enable and list extensions.
    • Adds SVG file support for @file content inclusion.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +13 moreshow less
    • Adds user startup warnings, including a home directory check, to surface misconfigurations early.
    • Improves 429/quota error handling with awareness of Code Assist customer tiers.
    • Initializes MCP tools once at startup instead of on every auth cycle, reducing latency.
    • Updates minimum required Node.js version to 20.
    • Adds improved error messages in isCommandAllowed for clearer shell permission feedback.
    • Displays YOLO mode shortcut inside /help output.
    • Consolidates all CLI flags to use hyphens; underscore-style flags are deprecated.
    • Formats tool execution time as minutes and seconds in the UI.
    • Improves auth environment variable validation and messaging to detect settings that confuse the GenAI SDK.
    • Re-enables backtick usage in shell tool commands.
    • Handles inline content modification in the tool scheduler.
    • Respects respectGitIgnore=false config when using @file references.
    • Updates ASCII art to adapt to smaller terminal screens.
    └──▷ BREAKING ON UPGRADE
    • !The --allowed_mcp_server_names flag is renamed to --allowed-mcp-server-names; the underscore form is deprecated.
    • !All underscore-style CLI flags are deprecated in favor of hyphen-style equivalents.
    • !Minimum Node.js version is now 20; earlier versions are no longer supported.
    • !/chat now requires a tag argument; invoking /chat without a tag will no longer work.
  154. v0.1.13-nightly.250728.9ed35126 Jul 28, 2025 · issue -364

    gemini-cli v0.1.13-nightly adds MCP server filtering, SVG support, Cloud Shell auth reuse, extension listing, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.13-nightly.250728.9ed35126 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.13-nightly.250728.9ed35126
    └──▷ TRY IT
    Limit the CLI to only connect to specific MCP servers, preventing untrusted servers from loading tools.
    $ gemini --allowed-mcp-server-names my-server,audit-server
    Allowlist or blocklist specific tools from an MCP server in settings to reduce the tool surface exposed to the model.
    json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "includeTools": ["read_file", "list_directory"],
          "excludeTools": ["delete_file"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers the CLI connects to at startup.
    • Adds excludeTools and includeTools options in mcpServers config to filter which tools a given MCP server exposes.
    • Adds a command-line option to enable and list extensions.
    • Supports .svg files as input content.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +8 moreshow less
    • Adds user startup warnings, including a home directory check, to surface misconfigurations early.
    • Improves 429/quota error handling with tier-aware messaging and removes auto-execution fallback to Flash on quota failover.
    • Initializes MCP tools once at startup instead of on every auth event, reducing latency.
    • Raises the minimum required Node.js version to 20.
    • Adds improved error messages in isCommandAllowed for clearer shell tool permission feedback.
    • Displays the YOLO mode shortcut inside /help.
    • Updates ASCII art to adapt to smaller terminal screens.
    • All CLI flags consolidated to use hyphens; underscore variants are deprecated.
    └──▷ BREAKING ON UPGRADE
    • !The minimum required Node.js version is now 20; setups running Node.js < 20 will break on upgrade.
    • !/chat now requires a tag argument; invoking /chat without a tag will no longer work.
  155. v0.1.13-nightly.250727.3e81359c Jul 27, 2025 · issue -364

    gemini-cli v0.1.13-nightly adds MCP tool filtering, SVG support, extension listing, Cloud Shell auth reuse, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.13-nightly.250727.3e81359c https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.13-nightly.250727.3e81359c
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful when you have many servers configured but only want a trusted subset active in a given session.
    $ gemini --allowed-mcp-server-names=my-server,other-server
    Limit which tools a specific MCP server exposes, reducing attack surface when you only need a subset of its capabilities.
    json
    # In settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "includeTools": ["read_file", "list_dir"],
          "excludeTools": ["exec_shell"]
        }
      }
    }
    List available extensions to discover what's installed and verify extension loading before a session.
    $ gemini --list-extensions
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at startup.
    • Adds excludeTools and includeTools config keys inside mcpServers config to filter MCP tools per server.
    • Adds a command-line option to enable and list extensions.
    • Adds .svg file support for inline content handling.
    • Enables reuse of the user's existing auth in Google Cloud Shell.
    +11 moreshow less
    • Adds user startup warnings and home directory check to surface configuration issues early.
    • Improves 429/quota error handling with Code Assist customer tier awareness.
    • Displays YOLO mode shortcut inside /help output.
    • Updates ASCII art to adapt for smaller terminal screens.
    • Initializes MCP tools once at startup instead of on every auth cycle, reducing latency.
    • Formats tool execution time as minutes and seconds for readability.
    • Improves auth environment variable validation and messaging to detect settings that confuse the GenAI SDK.
    • Improves error messages in isCommandAllowed for clearer shell permission feedback.
    • Adds general usage message to --help output.
    • Uses full terminal width for --help rendering.
    • Bumps minimum required Node.js version to 20.
    └──▷ BREAKING ON UPGRADE
    • !All CLI flags are consolidated to use hyphens; underscore variants (e.g. --allowed_mcp_server_names) are deprecated and may break scripts relying on the underscore form.
    • !Node.js versions below 20 are no longer supported; setups running Node.js 18 or earlier will fail.
  156. v0.1.13-nightly.250726.fb751c54 Jul 26, 2025 · issue -364

    gemini-cli v0.1.13-nightly adds MCP tool filtering, SVG support, extension listing, Cloud Shell auth reuse, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.13-nightly.250726.fb751c54 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.13-nightly.250726.fb751c54
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful when a project config lists servers you don't want active in a particular session.
    $ gemini --allowed-mcp-server-names my-server,another-server
    Filter individual tools within an MCP server so the model only sees the subset relevant to your workflow.
    json
    # In settings.json / .gemini/settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "includeTools": ["search", "fetch"],
          "excludeTools": ["delete"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at startup.
    • Adds excludeTools and includeTools fields in mcpServers config to filter individual tools per MCP server.
    • Adds .svg file support for inline content in prompts.
    • Adds a command-line option to enable and list extensions (--extensions).
    • Enables Gemini CLI to reuse the user's existing auth credentials when running inside Google Cloud Shell.
    +13 moreshow less
    • Adds user startup warnings and a home directory check to surface misconfigurations early.
    • Displays the YOLO mode shortcut inside /help output.
    • Improves error messages in isCommandAllowed to surface clearer shell-permission denials.
    • Initializes MCP tools once at startup instead of on every auth cycle, reducing latency.
    • Improves 429/quota error handling with Code Assist customer-tier awareness; removes auto-execution Flash fallback on quota failures.
    • Formats tool execution time as minutes and seconds in the UI.
    • Updates minimum required Node.js version to 20.
    • Consolidates all CLI flags to use hyphens; underscore-style flags are deprecated.
    • Improves auth environment-variable validation and messaging to detect settings that confuse the GenAI SDK.
    • Re-enables backtick usage in shell tool invocations.
    • Handles inline content modification in the tool scheduler.
    • Adds general usage message to --help output and uses full terminal width for help display.
    • Updates ASCII art to adapt to smaller terminal screens.
    └──▷ BREAKING ON UPGRADE
    • !All underscore-style CLI flags are deprecated in favour of hyphen-style equivalents (e.g. --allowed_mcp_server_names--allowed-mcp-server-names).
    • !The minimum required Node.js version is raised to 20; setups running Node.js <20 will no longer work.
  157. v0.1.14 Jul 25, 2025 · issue -364

    gemini-cli v0.1.14 adds IDE integration with VS Code & Zed, MCP OAuth, loop detection, custom themes, and an explicit proxy option.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.14 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.14
    └──▷ USE IT
    Suppress the startup banner in CI or scripted workflows where the banner adds noise.
    json
    # In ~/.gemini/settings.json
    { "hideBanner": true }
    Route all gemini-cli traffic through a corporate proxy server.
    $ gemini --proxy http://proxy.corp.example.com:8080
    Install the VS Code companion extension and verify the IDE integration is active.
    $ /ide install
    /ide status
    • Adds hideBanner setting to disable the startup banner via settings.json.
    • Introduces a VS Code companion extension for IDE integration, with /ide status and /ide install commands to manage it.
    • Adds Zed editor integration.
    • Surfaces stderr output from MCP servers when running in debug mode.
    • Introduces a loop detection service that automatically breaks simple agent loops, with LLM-based loop checking as an additional layer.
    +18 moreshow less
    • Adds support for allowed/excluded MCP server name filters in settings.
    • Adds MCP OAuth infrastructure (Part 1) for authenticating MCP servers.
    • Adds an explicit --proxy option to the CLI for routing traffic through a proxy.
    • Adds numbers to selection lists for faster keyboard-driven picking.
    • Introduces custom theme support.
    • Enhances OAuth callback for robust Docker support.
    • Shows blocked MCP servers in the MCP display.
    • Automatically detects non-interactive environments and falls back to a manual, code-based authentication flow.
    • Displays a code diff when a confirmation prompt is declined.
    • In IDE mode, includes the user's active open file as context in model requests.
    • Hides the terminal cursor when the terminal is unfocused.
    • Tool summarization is now only enabled when explicitly set in settings.json.
    • Runs model availability check in the background to speed up startup.
    • Adds a feature flag for IDE integration mode.
    • Clears the input buffer on CTRL+C when not executing a command.
    • Sorts tool list alphabetically for deterministic output.
    • Moves API key from URL parameter to request header.
    • Improves @ command file sorting to ignore file extensions.
    └──▷ BREAKING ON UPGRADE
    • !Tool summarization is no longer on by default — it must now be explicitly enabled in settings.json.
  158. v0.1.13 Jul 19, 2025 · issue -364

    gemini-cli v0.1.13 adds IDE integration with VSCode/Zed, MCP OAuth, loop detection, proxy support, and new /ide commands.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.13 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.13
    └──▷ USE IT
    Suppress the startup banner in automated or scripted workflows where the banner clutters output.
    json
    # In your settings.json
    { "hideBanner": true }
    Route all gemini-cli traffic through a corporate or intercepting proxy for inspection or policy enforcement.
    $ gemini --proxy http://proxy.corp.example.com:8080
    • Introduces VSCode companion extension for IDE integration, streaming active-file context into the CLI.
    • Adds Zed editor integration.
    • New /ide status and /ide install commands to manage IDE integration from the CLI.
    • Adds MCP OAuth infrastructure (Part 1) enabling OAuth-authenticated MCP servers.
    • Adds support for allowed/excluded MCP server name filtering in settings.
    +16 moreshow less
    • Shows blocked MCP servers in the MCP display.
    • Shows stderr output from MCP servers in debug mode.
    • Introduces a loop detection service that automatically breaks simple agentic loops, with LLM-based loop detection also added.
    • Adds hideBanner setting to disable the startup banner.
    • Adds explicit --proxy option to the CLI for routing traffic through a proxy.
    • Enhances OAuth callback for robust Docker support in non-interactive environments, automatically falling back to manual code-based auth.
    • Displays declined confirmation code diffs so users can review what was rejected.
    • Tool list is now sorted alphabetically for deterministic output.
    • Runs model availability check in the background to speed up startup.
    • Adds numbers to selection lists for faster item picking.
    • Hides cursor when the terminal is unfocused.
    • Clears input buffer on Ctrl+C when not executing commands.
    • Enables toolSummarization only when explicitly set in settings.json (opt-in).
    • Uses simple (short) names for MCP tools where possible, reducing noise.
    • API key is now sent in the request header instead of the URL.
    • Light theme color improvements.
    └──▷ BREAKING ON UPGRADE
    • !Tool summarization (toolSummarization) is now disabled unless explicitly set in settings.json; previously-enabled behavior will stop working on upgrade.
  159. v0.1.11-nightly.250713.4442e893 Jul 13, 2025 · issue -364

    gemini-cli v0.1.11-nightly adds MCP server filtering, SVG support, Cloud Shell auth reuse, extension CLI management, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.11-nightly.250713.4442e893 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.11-nightly.250713.4442e893
    └──▷ TRY IT
    Restrict which MCP servers are active in a session — useful when you want only a trusted subset of configured servers loaded.
    $ gemini --allowed-mcp-server-names server1,server2
    Whitelist only specific tools from an MCP server in settings.json to reduce attack surface.
    json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "includeTools": ["read_file", "list_directory"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are loaded at startup.
    • Adds excludeTools and includeTools fields in mcpServers config to whitelist or blacklist individual MCP tools per server.
    • Adds a command-line option to enable and list extensions (--extensions).
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    • Adds startup warnings for users, including a home directory check.
    +12 moreshow less
    • Adds .svg file support for inline content handling.
    • Displays YOLO mode shortcut inside /help.
    • Initializes MCP tools once at startup instead of on every auth event, improving startup performance.
    • Improves 429/quota error handling with tier-aware messaging and removes auto-execution on Flash during quota failover.
    • Improves auth environment variable validation logic and messaging to detect conflicting GenAI SDK settings.
    • Improves error messages in isCommandAllowed for clearer shell tool permission feedback.
    • Updates ASCII art to adapt for smaller terminal screens.
    • Formats tool execution time as minutes and seconds.
    • Adds general usage message to --help output.
    • Respects respectGitIgnore=false config when using @file references.
    • Requires minimum Node.js version 20.
    • Consolidates all CLI flags to use hyphens; underscore variants are deprecated.
    └──▷ BREAKING ON UPGRADE
    • !The minimum required Node.js version is now 20; setups running Node.js <20 will no longer work.
    • !All underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated in favor of hyphen-style equivalents (e.g. --allowed-mcp-server-names); underscore variants may stop working in a future release.
    • !The /chat command now requires a tag argument; existing usage of /chat without a tag will fail.
  160. v0.1.10 Jul 11, 2025 · issue -364

    gemini-cli v0.1.10 adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and per-server tool inclusion controls.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.10 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.10
    └──▷ TRY IT
    Restrict the CLI to only connect to specific MCP servers, reducing attack surface in automated pipelines.
    $ gemini --allowed-mcp-server-names my-server,trusted-server
    Limit which tools a specific MCP server can expose, scoping permissions per server in settings.json.
    json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "includeTools": ["read_file", "list_directory"],
          "excludeTools": ["exec_shell"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers the CLI connects to at startup.
    • Adds excludeTools and includeTools options to mcpServers config for fine-grained per-server tool filtering.
    • Adds a command-line option to enable and list extensions.
    • Enables reuse of the user's existing auth in Google Cloud Shell, avoiding re-authentication.
    • Adds .svg file support for inline content handling.
    +10 moreshow less
    • Adds user startup warnings and a home directory check to surface misconfigurations early.
    • Adds improved error messages in isCommandAllowed for clearer shell command policy feedback.
    • Displays the YOLO mode shortcut inside /help for discoverability.
    • Initializes MCP tools once at startup instead of on every auth event, improving startup performance.
    • Formats tool execution time as minutes and seconds in the UI.
    • Improves 429/quota error handling with tier-aware messaging and removes auto-execution Flash fallback on quota failure.
    • Improves auth environment variable validation to detect settings that confuse the GenAI SDK.
    • Updates ASCII art to scale for smaller terminal screens.
    • Respects DEBUG and CLI_TITLE environment variables.
    • Enables backtick usage in shell tool invocations.
    └──▷ BREAKING ON UPGRADE
    • !All CLI flags are consolidated to use hyphens; underscore-style flags (e.g. --allowed_mcp_server_names) are deprecated — existing scripts using underscore flags will need to be updated.
    • !Minimum required Node.js version is raised to 20; setups running Node.js < 20 will no longer work.
    • !The /chat command now requires a tag argument; bare /chat invocations without a tag will fail.
  161. v0.1.11 Jul 11, 2025 · issue -364

    gemini-cli v0.1.11 adds NO_BROWSER env var for headless/offline OAuth flows.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.11 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.11
    └──▷ TRY IT
    Authenticate in a headless SSH session or CI environment where no browser is available.
    $ NO_BROWSER=1 gemini
    • Adds NO_BROWSER environment variable to trigger an offline OAuth flow without opening a browser — useful in headless or remote environments.
    • Indents subcommands in help output for improved readability.
  162. v0.1.9-nightly.250710.da50a1ee Jul 10, 2025 · issue -364

    gemini-cli v0.1.9-nightly adds MCP tool filtering, SVG support, extension listing, Cloud Shell auth reuse, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.9-nightly.250710.da50a1ee https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.9-nightly.250710.da50a1ee
    └──▷ TRY IT
    Limit which MCP servers are loaded at startup — useful in CI or locked-down environments where only approved servers should be active.
    $ gemini --allowed-mcp-server-names server1,server2
    Filter which tools are exposed from a specific MCP server to reduce the model's tool surface.
    json
    # in settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "npx my-mcp-server",
          "includeTools": ["run_query", "list_tables"],
          "excludeTools": ["drop_table"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at launch.
    • Adds excludeTools and includeTools fields to mcpServers config for per-server tool filtering.
    • Adds .svg file support for inline content.
    • Adds a command-line option to enable and list extensions.
    • Enables Gemini CLI to reuse the user's existing auth in Google Cloud Shell.
    +11 moreshow less
    • Adds startup warnings and home directory check to surface configuration issues early.
    • Displays the YOLO mode shortcut inside /help output.
    • Improves error messages in isCommandAllowed for blocked shell commands.
    • Initializes MCP tools once at startup instead of on every auth cycle, reducing latency.
    • Updates minimum Node.js requirement to v20.
    • Formats tool execution time as minutes and seconds in the UI.
    • Updates ASCII art to adapt to smaller terminal screens.
    • Improves 429/quota error handling with Code Assist customer tier awareness and removes auto-execution on Flash failover.
    • Improves auth environment variable validation and messaging to detect GenAI SDK configuration conflicts.
    • Re-enables backtick usage in shell tool invocations.
    • Adds general usage message to --help output and uses full terminal width for its display.
    └──▷ BREAKING ON UPGRADE
    • !All CLI flags previously using underscores are consolidated to use hyphens (e.g., --allowed_mcp_server_names is deprecated in favor of --allowed-mcp-server-names); underscore variants are deprecated and may stop working in a future release.
    • !Node.js v20 is now the minimum required version; setups running on older Node.js versions will break.
    • !The /chat command now requires a tag argument; invocations without a tag will fail.
  163. v0.1.9-nightly.250709.c8cf954e Jul 9, 2025 · issue -364

    gemini-cli v0.1.9-nightly adds MCP server filtering flags, SVG support, extension listing, Cloud Shell auth reuse, and startup warnings.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.9-nightly.250709.c8cf954e https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.9-nightly.250709.c8cf954e
    └──▷ TRY IT
    Restrict which MCP servers are loaded at startup — useful in hardened environments where only approved servers should be reachable.
    $ gemini --allowed-mcp-server-names my-approved-server,another-server
    Allowlist only specific tools from an MCP server to reduce the attack surface exposed to the model.
    json
    # In settings.json or gemini config
    {
      "mcpServers": {
        "my-server": {
          "command": "npx",
          "args": ["my-mcp-server"],
          "includeTools": ["read_file", "list_dir"]
        }
      }
    }
    • New --allowed-mcp-server-names flag restricts which MCP servers the CLI connects to at runtime.
    • New excludeTools and includeTools fields in mcpServers config allow per-server tool allowlisting and blocklisting.
    • Adds a command-line option to enable and list extensions.
    • Supports .svg files as inline content input.
    • Reuses existing user auth automatically when running inside Google Cloud Shell.
    +7 moreshow less
    • Adds user startup warnings including a home directory check to catch common misconfiguration.
    • Improves auth environment variable validation with clearer error messaging when settings confuse the GenAI SDK.
    • MCP tools now initialize once at startup instead of on every auth event, reducing latency.
    • Execution time is now formatted as minutes and seconds in the UI.
    • YOLO mode shortcut is now displayed inside /help.
    • Improves error messages in isCommandAllowed for shell tool permission denials.
    • Updates minimum Node.js requirement to v20.
    └──▷ BREAKING ON UPGRADE
    • !The minimum supported Node.js version is now 20; setups running Node.js < 20 will break on upgrade.
    • !/chat now requires a tag argument; existing workflows that invoke /chat without a tag will fail.
  164. v0.1.9-nightly.250708.137ffec3 Jul 8, 2025 · issue -364

    gemini-cli v0.1.9-nightly adds MCP server filtering flags, SVG support, Cloud Shell auth reuse, and per-server tool inclusion/exclusion controls.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.9-nightly.250708.137ffec3 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.9-nightly.250708.137ffec3
    └──▷ TRY IT
    Limit which MCP servers are loaded at startup — useful in hardened environments where only approved servers should be active.
    $ gemini --allowed-mcp-server-names my-approved-server,another-server
    Restrict or allowlist specific tools exposed by an MCP server to reduce the attack surface in automated pipelines.
    json
    # In settings.json or .gemini/settings.json
    {
      "mcpServers": {
        "my-server": {
          "command": "my-mcp-server",
          "includeTools": ["read_file", "list_dir"],
          "excludeTools": ["exec_shell"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are activated at startup.
    • Adds excludeTools and includeTools fields to mcpServers config to control which tools are exposed per MCP server.
    • Enables auth reuse from Google Cloud Shell so users don't need to re-authenticate.
    • Adds SVG file support for @file references.
    • Adds user startup warnings and home directory check to surface environment issues early.
    +6 moreshow less
    • MCP tools now initialize once at startup instead of on every auth event, reducing latency.
    • Displays YOLO mode shortcut inside /help output.
    • Improves error messages in isCommandAllowed to surface clearer diagnostics when a shell command is blocked.
    • Execution time is now formatted as minutes and seconds for long-running operations.
    • Raises minimum Node.js version requirement to 20.
    • Re-enables backtick usage in the shell tool.
    └──▷ BREAKING ON UPGRADE
    • !The minimum required Node.js version is now 20; setups running older Node.js versions will break on upgrade.
    • !The flag --allowed_mcp_server_names was renamed to --allowed-mcp-server-names; scripts using the underscore form will break.
  165. v0.1.9-nightly.250708.a4097ae6 Jul 8, 2025 · issue -364

    gemini-cli v0.1.9-nightly adds MCP server filtering flags, SVG support, Cloud Shell auth reuse, and per-server tool inclusion/exclusion.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.9-nightly.250708.a4097ae6 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.9-nightly.250708.a4097ae6
    └──▷ TRY IT
    Restrict an automated session to only specific MCP servers to limit tool exposure in CI or sandboxed environments.
    $ gemini --allowed-mcp-server-names filesystem,github
    Allowlist or blocklist specific tools on a per-MCP-server basis so only vetted tools are available to the model.
    json
    # in settings.json
    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"],
          "includeTools": ["read_file", "list_directory"]
        },
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "excludeTools": ["create_issue", "delete_repository"]
        }
      }
    }
    • Adds --allowed-mcp-server-names flag to restrict which MCP servers are active at launch.
    • Adds excludeTools and includeTools options per MCP server entry in mcpServers config to control which tools each server exposes.
    • Adds .svg file support for @file context inclusion.
    • Enables Gemini CLI to reuse existing user auth when running inside Google Cloud Shell.
    • Adds startup warnings and home directory checks to alert users to potential misconfigurations at launch.
    +4 moreshow less
    • Initializes MCP tools once at startup instead of re-initializing on every auth cycle, reducing latency.
    • Displays the YOLO mode shortcut inside /help output.
    • Improves error messages in isCommandAllowed for blocked shell commands.
    • Updates minimum required Node.js version to 20.
    └──▷ BREAKING ON UPGRADE
    • !The minimum required Node.js version is now 20; setups running Node.js <20 will break on upgrade.
  166. v0.1.9-nightly.250707.d1c0a211 Jul 7, 2025 · issue -364

    gemini-cli v0.1.9-nightly raises minimum Node.js to v20 and requires a tag argument for /chat sessions.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.9-nightly.250707.d1c0a211 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.9-nightly.250707.d1c0a211
    • Requires Node.js 20+ as the new minimum runtime version.
    • Makes the tag argument required for the /chat command.
    • Updates ASCII art rendering to adapt to smaller terminal screens.
    • Adds inline content modification handling in the tool scheduler.
    └──▷ BREAKING ON UPGRADE
    • !Node.js versions below 20 are no longer supported; upgrade your runtime before upgrading gemini-cli.
    • !The /chat command now requires a tag argument; invocations without a tag will fail.
  167. v0.1.9-nightly.250704.23eea823 Jul 4, 2025 · issue -364

    gemini-cli v0.1.9-nightly now requires a tag for /chat and adapts ASCII art for smaller screens.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.9-nightly.250704.23eea823 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.9-nightly.250704.23eea823
    • Requires a tag argument for the /chat command, enforcing named chat sessions.
    • Updates ASCII art to scale appropriately for smaller terminal screens.
    └──▷ BREAKING ON UPGRADE
    • !The /chat command now requires a tag argument; existing workflows that invoke /chat without a tag will break.
  168. v0.1.9 Jul 2, 2025 · issue -364

    gemini-cli v0.1.9 adds infinite loop protection, extension tool exclusions, and session ID support in API calls.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.9 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.9
    • Adds infinite loop protection to the client to prevent runaway agentic cycles.
    • Supports excludedTools in extensions, letting extension authors block specific tools from being used.
    • Supports session_id in API calls for session-scoped request tracking.
  169. v0.1.8 Jul 1, 2025 · issue -364

    gemini-cli v0.1.8 adds audio/video file reading, modular GEMINI.md imports, remote MCP custom headers, and per-command shell restrictions.

    └──▷ GET THIS VERSION
    $ git clone --branch v0.1.8 https://github.com/google-gemini/gemini-cli.git
    # already have the repo? check out this version:
    $ git checkout v0.1.8
    └──▷ USE IT
    Suppress startup tips when running gemini-cli in non-interactive or scripted pipelines.
    json
    # In settings.json
    { "hideTips": true }
    • Adds audio and video support to the read_file tool, enabling multimodal analysis of media files.
    • Supports modular GEMINI.md imports using @file.md syntax, allowing shared instruction fragments across projects.
    • Adds hideTips setting to suppress startup tips in automated or distraction-free workflows.
    • Adds custom HTTP headers support for remote MCP servers, enabling authenticated MCP connections.
    • Enables command-specific restrictions for ShellTool, including prefix matching for flexible command validation.
    +6 moreshow less
    • Adds VSCodium editor support for the external editor integration.
    • Adds Neovim editor support for the external editor integration.
    • Adds a new 'Shades of Purple' UI theme.
    • Adds markdown table rendering support in CLI output.
    • Expands /stats command to include more detailed token/usage breakdowns.
    • Highlights previous user input in the terminal UI for improved session readability.
    └──▷ BREAKING ON UPGRADE
    • !The AuthType value LOGIN_WITH_GOOGLE_PERSONAL is renamed to LOGIN_WITH_GOOGLE; any config or scripts referencing the old value will break.
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →