gemini-cli
v0.57.0 open-sourceAn open-source AI agent that brings the power of Gemini directly into your terminal.
gemini skills install https://github.com/user/security-audit-skill.git --scope workspace --consent
gemini skills list --all
gemini eval:inventory --json
gemini /exit --delete
gemini /commands list
gemini /extensions delete <extension-name>
gemini --session-id <your-uuid> 'Run a recon summary on <target>'
gemini gemma
/memory inbox
{
"mcpServers": {
"my-server": {
"url": "https://my-mcp-server.example.com",
"auth": {
"type": "bearer",
"token": "<your-token>"
}
}
}
}
# In settings.json or gemini config:
{
"experimental": {
"adk": {
"agentSessionNoninteractiveEnabled": true
}
}
}
/stats
/about
gemini extensions install <extension-name> --skip-settings
GEMINI_BASE_URL=https://my-proxy.example.com/v1 gemini
# In ~/.gemini/settings.json
{
"keybindings": {
"-ctrl+r": ""
}
}
gemini --acp
/unassign
# In your gemini settings (e.g., settings.json or equivalent config)
{ "experimental": { "useOSC52Copy": true } }
# In your gemini config, set a custom plans storage directory
{ "plan": { "storageDirectory": "/path/to/team-plans" } }
/extensions explore
gemini --policy ./my-policy.json
# Press Ctrl-Z inside an active gemini-cli session to suspend it
# Then resume with:
fg
/plan Refactor the authentication module to use JWT tokens
gemini mcp list
# In settings.json
{
"allowedExtensions": ["my-org/approved-ext-a", "my-org/approved-ext-b"]
}
/prompt-suggest
/rewind
/mcp enable <server-name>
/agents config
gemini --prompt "Summarize the last 10 git commits in this repo"
/agents
/agents refresh
GEMINI_EXP=my_experiment gemini
gemini skills
# after adding a skill file, inside the CLI:
/skills reload
gemini /auth logout
/stats
/init
gemini
# inside the session:
/copy
gemini mcp add my-server --type sse --url https://my-mcp-server.example.com/sse
/stats
/resume
/stats
/resume
/resume
/stats
/extensions restart
/disable <extension-name>
/enable <extension-name>
/extensions restart
/extensions restart
/disable my-extension
/enable my-extension
gemini --record-responses
gemini extension explore
gemini --output-format stream-json -p "Summarize the CVEs in this report" < report.txt | jq '.text'
# While gemini-cli is running, press:
alt+m
gemini mcp list
curl -X POST http://localhost:<port>/executeCommand -H 'Content-Type: application/json' -d '{"command": "/extensions list"}'
GOOGLE_CLOUD_PROJECT_ID=my-project-123 gemini
gemini --output-format stream-json -p "Summarize the security findings in report.txt"
# While in the gemini-cli interactive session, press:
alt+m
gemini mcp list
gemini --output-format stream-json -p "Summarize the CVEs in this advisory: $(cat advisory.txt)"
gemini mcp list
# While a response is displayed in gemini-cli, press: Alt+m
export GOOGLE_CLOUD_PROJECT_ID=my-gcp-project && gemini
gemini memory list
gemini --allowed-tools read_file,run_shell_command -p "Summarize the test failures in the last run"
gemini memory list
echo 'Summarize the README' | gemini --allowed-tools read_file
export GOOGLE_CLOUD_PROJECT_ID=my-gcp-project && gemini 'list buckets in this project'
gemini memory list
gemini --allowed-tools read_file,shell_command -p "Summarize the security findings in REPORT.md"
# In your gemini-cli settings (e.g., settings.json)
{ "enableSubagents": true }
gemini --allowed-tools read_file,run_shell_command 'Review the Dockerfile and explain any risks'
gemini --allowed-tools read_file,grep,shell_exec "Audit all TODO comments in src/"
# Inside a gemini-cli session, press Ctrl+R then type keywords to fuzzy-search prior commands
gemini extensions update
gemini --allowed-tools read_file,run_shell_command 'Summarize all TODO comments in this repo'
gemini --debug 'What files changed in the last commit?'
# Inside an active gemini-cli session, press Ctrl+R then type keywords to fuzzy-search prior commands
gemini extensions update
gemini extensions install <source>
# Inside a gemini-cli session, press Ctrl+R then type keywords to search prior commands
gemini extensions update
gemini extensions install <source>
gemini extensions install <source>
gemini --session-summary
gemini extensions link <path>
gemini "Summarize the changes in the last 5 git commits"
gemini --session-summary
gemini extensions link /path/to/my-extension
gemini "Summarize the changes in CHANGELOG.md"
gemini --session-summary
gemini extensions link /path/to/my-extension
gemini "Summarize the changes in the last 10 git commits"
gemini extensions install <source>
gemini --session-summary
gemini extensions link <path>
gemini "Summarize the file main.go"
gemini --session-summary
gemini 'Summarize the TODOs in this repo'
gemini extensions link <path>
gemini extensions install <extension-name>
gemini extensions list
gemini extensions uninstall <extension-name>
gemini --allowed-tools read_file,shell -p "Summarize all TODO comments in the repo"
gemini extensions install <extension-name>
gemini extensions list
gemini extensions uninstall <extension-name>
gemini --theme /path/to/my-theme.json
gemini --no-fuzzy-search
gemini --theme /path/to/my-theme.json
gemini extensions install <extension-name>
gemini extensions list
gemini extensions uninstall <extension-name>
/mcp refresh
gemini --theme /path/to/my-theme.json
cat findings.txt | gemini -p "Summarize the security findings above and suggest remediation steps"
/mcp refresh
/mcp refresh
cat findings.json | gemini -p "Summarize the critical findings in this report"
echo '{"hideBanner": true}' >> ~/.gemini/settings.json
gemini --proxy http://proxy.corp.example.com:8080
gemini
# then inside the session:
/ide status
/ide install
gemini --allowed-mcp-server-names my-server,another-server
# In settings.json or .gemini/config.json
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"excludeTools": ["dangerous_tool", "verbose_tool"]
}
}
}
gemini --list-extensions
gemini --approval-mode auto
gemini --allowed-mcp-server-names shodan,nuclei
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"excludeTools": ["delete_resource", "shutdown"]
}
}
}
/settings
gemini --allowed-mcp-server-names filesystem,github
# In settings.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
"includeTools": ["read_file", "list_directory"],
"excludeTools": ["write_file"]
}
}
}
gemini --list-extensions
gemini --allowed-mcp-server-names my-corp-server,approved-scanner
# In settings.json mcpServers block:
{
"mcpServers": {
"my-corp-server": {
"command": "npx my-corp-mcp",
"includeTools": ["read_file", "list_dir"],
"excludeTools": ["exec_shell"]
}
}
}
gemini --allowed-mcp-server-names my-server,another-server
# in settings.json
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"includeTools": ["read_file", "list_dir"],
"excludeTools": ["delete_file"]
}
}
}
gemini --allowed-mcp-server-names my-security-server
{
"mcpServers": {
"my-security-server": {
"command": "npx",
"args": ["my-mcp-server"],
"includeTools": ["run_scan", "get_findings"],
"excludeTools": ["delete_policy"]
}
}
}
gemini --allowed-mcp-server-names=my-server,another-server
# In settings.json or .gemini/settings.json
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"includeTools": ["read_file", "list_dir"],
"excludeTools": ["delete_file"]
}
}
}
gemini --list-extensions
# In your settings.json
{ "hideBanner": true }
gemini --proxy http://proxy.corp.example.com:8080 "Summarize the findings in report.md"
/ide install
/ide status
gemini --allowed-mcp-server-names my-server,audit-server
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"excludeTools": ["delete_database", "drop_table"]
}
}
}
gemini --list-extensions
# In ~/.gemini/settings.json
{
"hideBanner": true
}
gemini --proxy http://proxy.corp.example.com:8080
/ide install
/ide status
gemini --allowed-mcp-server-names my-server,audit-server
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"includeTools": ["read_file", "list_dir"],
"excludeTools": ["exec_shell"]
}
}
}
gemini --extensions
gemini --allowed-mcp-server-names shodan,burp
# in settings.json
{
"mcpServers": {
"my-server": {
"command": "my-mcp-server",
"includeTools": ["read_file", "list_dir"]
}
}
}
gemini --extensions
gemini --allowed-mcp-server-names my-server,audit-server
# In settings.json
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"excludeTools": ["dangerous_tool", "write_file"]
}
}
}
gemini --list-extensions
# In your settings.json:
{ "hideBanner": true }
gemini --proxy http://proxy.corp.example.com:8080
/ide status
/ide install
gemini --allowed-mcp-server-names my-server,audit-server
# In settings.json or .gemini/settings.json
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"excludeTools": ["run_shell", "delete_file"]
}
}
}
gemini --allowed-mcp-server-names my-safe-server,audit-server
# In settings.json or .gemini/config.json
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"includeTools": ["read_file", "list_dir"]
}
}
}
gemini --list-extensions
gemini --allowed-mcp-server-names my-server,another-server
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"includeTools": ["read_file", "list_dir"],
"excludeTools": ["shell_exec"]
}
}
}
hideBanner: true
/ide install
/ide status
gemini --allowed-mcp-server-names my-safe-server,audit-server
# In settings.json or .gemini/settings.json
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"includeTools": ["read_file", "list_dir"]
}
}
}
gemini --list-extensions
gemini --allowed-mcp-server-names filesystem,github
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"],
"includeTools": ["read_file", "list_directory"]
}
}
}
gemini --list-extensions
gemini --allowed-mcp-server-names my-server,audit-server
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"includeTools": ["read_file", "list_directory"],
"excludeTools": ["delete_file"]
}
}
}
gemini --allowed-mcp-server-names=my-server,other-server
# In settings.json
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"includeTools": ["read_file", "list_dir"],
"excludeTools": ["exec_shell"]
}
}
}
gemini --list-extensions
gemini --allowed-mcp-server-names my-server,another-server
# In settings.json / .gemini/settings.json
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"includeTools": ["search", "fetch"],
"excludeTools": ["delete"]
}
}
}
# In ~/.gemini/settings.json
{ "hideBanner": true }
gemini --proxy http://proxy.corp.example.com:8080
/ide install
/ide status
# In your settings.json
{ "hideBanner": true }
gemini --proxy http://proxy.corp.example.com:8080
gemini --allowed-mcp-server-names server1,server2
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"includeTools": ["read_file", "list_directory"]
}
}
}
gemini --allowed-mcp-server-names my-server,trusted-server
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"includeTools": ["read_file", "list_directory"],
"excludeTools": ["exec_shell"]
}
}
}
NO_BROWSER=1 gemini
gemini --allowed-mcp-server-names server1,server2
# in settings.json
{
"mcpServers": {
"my-server": {
"command": "npx my-mcp-server",
"includeTools": ["run_query", "list_tables"],
"excludeTools": ["drop_table"]
}
}
}
gemini --allowed-mcp-server-names my-approved-server,another-server
# In settings.json or gemini config
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["my-mcp-server"],
"includeTools": ["read_file", "list_dir"]
}
}
}
gemini --allowed-mcp-server-names my-approved-server,another-server
# In settings.json or .gemini/settings.json
{
"mcpServers": {
"my-server": {
"command": "my-mcp-server",
"includeTools": ["read_file", "list_dir"],
"excludeTools": ["exec_shell"]
}
}
}
gemini --allowed-mcp-server-names filesystem,github
# 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"]
}
}
}
# In settings.json
{ "hideTips": true } 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
Examples
Command line
No option matches that search.
| option | found in | since | description |
|---|
No option matches that search.
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Release history
- docs update
Gemini CLI gains Agent Skills — installable, on-demand expertise bundles with scoped discovery and session management commands
└──▷ TRY ITInstall 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> --consentCLI command installs a skill from a Git repository or local directory, with--scope user|workspaceto control whether it is global or project-local. - ›New
gemini skills list --allCLI command lists all discovered skills across every tier, including built-in skills normally hidden from output. - ›New
gemini skills uninstall <name> --scope workspaceCLI command removes an installed skill. - ›New
/skills list [all] [nodesc]interactive session command shows discovered skills, withallto surface built-in skills andnodescto 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_skilltool — called automatically by the model when a task matches a skill's description — which injects the skill'sSKILL.mdand 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.
- ›New
- v0.57.0
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.
- v0.55.1
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 reportcommand 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-codetopic. - ›Adds issue comment handling and re-triage workflow to the caretaker ingestion pipeline.
- ›Adds caretaker Firestore schema fields
errorandpr_numberfor 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-libraryto v10.9.0 for updated Google authentication support.
- ›Adds tool registry discovery (
- v0.55.1
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
errorandpr_numberfields. - ›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.
- v0.53.0
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.
- v0.53.0
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
evalspackage) to surface evaluation coverage metrics. - ›Implements an LLM triage orchestrator (
caretaker-triage) with container build support for automated issue triage workflows.
- ›Adds an eval coverage report command (via the
- v0.50.0
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.
- v0.49.0
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 ITAudit 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:inventoryCLI command for listing and reporting eval inventory. - ›Adds JSON output mode for
eval:inventoryresults. - ›Adds static eval source analyzer for evaluating CLI inputs.
- v0.47.0
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.
- v0.45.0
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.
- v0.44.0
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.agentSessionSubagentEnabledflag to control agent session subagent behavior. - ›Introduces
LocalSessionInvocationandRemoteSessionInvocationfor 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-tuiandtui-testerskills for agent terminal UI testing.
- v0.43.0
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
LocalSubagentProtocolbehindAgentProtocolfor local subagent orchestration. - ›Introduces
RemoteSubagentProtocolbehindAgentProtocolfor 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
NumericalRouterwhen using dynamic model configs for smarter model routing. - ›Improves context snapshotter with enhancements to snapshot handling.
- v0.42.0
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 ITExit 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 listUninstall an extension using the newdeletealias instead of the longeruninstallsubcommand.$ gemini /extensions delete <extension-name>- ›Adds
--deleteflag to the/exitcommand to delete the current session on exit. - ›Adds
listsubcommand to/commandsfor discovering available commands. - ›Adds
deleteas an alias for/extensions uninstallto 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
logPromptsflag to control logging of sensitive fields.
- ›Adds
- v0.41.0
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 ITPin 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
.envloading and enforced workspace trust in headless mode.
+4 moreshow less
- ›New
ContextManagerandAgentChatHistorywired 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.
- v0.40.0
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 ITSet up a local Gemma model for offline/private inference without leaving the CLI$ gemini gemma- ›Adds
gemini gemmasubcommand 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
--tracesflag (or equivalent) to enable OpenTelemetry traces specifically
+6 moreshow less
- ›Adds GitHub colorblind themes to the theme selector
- ›Adds
/newas an alias for/clearto start a fresh session - ›Adds
.mdxfile support to the get-internal-docs tool - ›Splits
memoryManagerconfig flag intoautoMemoryfor 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
memoryManagerconfig flag is split intoautoMemory; existing configs usingmemoryManagerwill need to be updated.
- ›Adds
- v0.39.0
gemini-cli v0.39.0 adds
/memoryinbox 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 ITReview and approve extracted memory skills before they are activated, preventing unintended skill updates.$ /memory inboxConfigure an MCP server in an agent definition with an auth block for authenticated tool access.{ "mcpServers": { "my-server": { "url": "https://my-mcp-server.example.com", "auth": { "type": "bearer", "token": "<your-token>" } } } }- ›Adds
/memory inboxcommand for reviewing and patching extracted skills, including skill patching support with inbox integration. - ›Introduces unified
invoke_subagenttool, consolidating subagent invocation under a single interface. - ›Requires user confirmation for
activate_skillactions 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
useAgentStreamhook 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
agentIdin tool call records for better traceability. - ›Supports
authblock in MCP servers config within agents. - ›Adds scroll momentum enhancements to the terminal UI.
- ›Adds
debugRainbowoptional 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
terminalBuffermode.
- ›Adds
- v0.38.0
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 ITEnable non-interactive ADK agent sessions in CI or scripted pipelines where no TTY is present.# 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.$ /statsQuery an ACP-connected agent for its capabilities and version information without leaving the CLI.$ /about- ›Adds
experimental.adk.agentSessionNoninteractiveEnabledconfig 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
/aboutcommand support for ACP-connected agents. - ›Adds
/helpcommand for ACP-connected agents. - ›Adds role-specific token/usage metrics to the
/statscommand output. - ›Enables
web_fetchin 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
loadingPhrasestooff, hiding loading tips by default.
└──▷ BREAKING ON UPGRADE- !The default value of
loadingPhrasesis nowoff; users who relied on loading tips/phrases appearing by default will no longer see them without explicitly enabling the setting.
- ›Adds
- v0.37.0
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
maxActionsPerTasksetting for the browser agent to cap the number of actions per task. - ›Adds a CI skill for automated failure replication.
- ›Implements
forbiddenPathsfor OS-specific sandbox managers to block access to sensitive filesystem paths. - ›Supports inline
agentCardJsonstring 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
forbiddenPathstoGlobalSandboxOptionsfor centralized sandbox path restriction. - ›Implements dynamic Linux sandbox expansion with worktree support.
- ›Implements Windows sandbox dynamic expansion and denial detection.
- ›Adds a
debugcommand. - ›Adds configurable
memoryBoundaryMarkerssetting for context management. - ›Enables network access configuration in sandbox settings.
- ›Implements
AgentHistoryProviderfor tracking agent execution history. - ›Adds subagent isolation and cleanup hardening.
- ›Defines
TrajectoryProviderinterface for agent trajectory tracking. - ›Browser agent now dynamically discovers read-only tools at runtime.
- ›Adds development worker infrastructure for GCP.
- ›Adds
- v0.36.0
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 ITInstall 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-settingsflag to the extension install command. - ›Adds linking support in the extension registry.
- ›Introduces
AgentSessionand renames stream events to agent events in the core API. - ›Adds token usage metadata to the ACP
sendmethod's return value. - ›Adds an experimental memory manager agent to replace the
save_memorytool. - ›Adds a
blockedstatus 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
ModelChainsupport toModelConfigServicewith a dynamic Model Dialog. - ›Formats multi-line banner warnings with a bold title in the UI.
- ›Conditionally excludes the
ask_usertool 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-utilsto core for shared content manipulation utilities.
- v0.35.0
gemini-cli v0.35.0 adds customizable keyboard shortcuts, vim yank/paste, gRPC support, parallel tool execution, an
--admin-policyflag, 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 ITPoint 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 geminiUnbind an existing shortcut (e.g. remove the default binding for Ctrl+R) using the-prefix in your keybindings config.# 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/dtand related commands. - ›Adds vim yank and paste (
y/p/P) with an unnamed register. - ›New
--admin-policyflag 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
SandboxManagerinterface and config schema for sandboxed execution. - ›Implements Stage 1 improvements to the
webfetchtool. - ›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
/upgradehint for Ultra-tier users. - ›Differentiates the User-Agent header for A2A-server and ACP clients.
- v0.34.0
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 ITConnect 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
/footercommand.
+9 moreshow less
- ›Adds AI Gateway auth support for ACP connections.
- ›Improves
@fileautocomplete 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
--acpflag (previously--experimental-acp) to stable, removing the experimental prefix.
└──▷ BREAKING ON UPGRADE- !The
--experimental-acpflag is renamed to--acp; scripts using--experimental-acpwill break.
- v0.33.0
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 ITUnassign a task or issue from within the CLI without leaving your workflow.$ /unassign- ›Adds
github-issue-creatorskill 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
copysubcommand toplanfor duplicating plans. - ›Adds
/unassignslash command support. - ›Adds
set modelsinterface to ACP. - ›Supports
plandirectory 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
/hookscommand. - ›Introduces subagent activity UX for monitoring background agent work.
- ›Directly indicates auth-required state for agents in the UI.
- ›Adds
- v0.32.0
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_searchtool'sincludeparameter toinclude_pattern. - ›Plumbs the
maxAttemptssetting through config args. - ›Maps HTTP 499 to retryable quota errors.
- ›Increases fetch timeout.
└──▷ BREAKING ON UPGRADE- !The
grep_searchtool'sincludeparameter is renamed toinclude_pattern.
- v0.31.0
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 ITEnable OSC52 clipboard copy so you can yank model output to your system clipboard even inside tmux or SSH sessions.# 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.# 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 --resumehint 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 adddirectories to@-pathautocomplete suggestions. - ›Adds
experimental.useOSC52Copysetting 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 explorecommand 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_modeinterface support for IDE integration mode switching.
- ›Adds
- v0.30.0
gemini-cli v0.30.0 adds a
--policyflag, 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 ITEnforce a custom tool policy file on every invocation instead of using the deprecated--allowed-toolsflag.$ 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
--policyflag for user-defined tool policies, replacing--allowed-toolsandexcludeTools. - ›Enables tool output masking by default to reduce sensitive data exposure in tool responses.
- ›Supports multi-line text answers in the
ask-usertool 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
SessionContextsupport, dynamic system instructions, and custom skills. - ›Fallback to
chat-basemodel automatically when an unrecognized model is specified for chat. - ›Adds admin controls documentation and policy overrides for Plan Mode.
└──▷ BREAKING ON UPGRADE- !
--allowed-toolsandexcludeToolsare deprecated in favor of the policy engine; existing configurations relying on these flags will need to migrate to the--policyflag.
- ›Adds
- v0.29.0
gemini-cli v0.29.0 adds a
/planslash 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 ITEnter 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 tokensList all MCP servers permitted by the admin allowlist to audit what is available to the agent.$ gemini mcp list- ›Adds
/planslash command to enter an interactive planning mode before execution. - ›Adds
enter_plan_modetool so the agent can autonomously switch into plan mode. - ›Supports the
replacetool 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 listcommand to inspect allowed MCP configurations. - ›Implements linking for agent skills.
- ›Adds
/extensionsconfig 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
getUserTierNamein 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.enableEventDrivenSchedulersetting is removed; the event-driven scheduler is now the default engine. - !The
previewFeaturesflag is removed and Gemini 3 is now the default model.
- ›Adds
- v0.28.0
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 ITRestrict a shared environment to only load approved extensions, reducing supply-chain risk from arbitrary extension installs.# 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-suggestslash command to surface prompt suggestions interactively. - ›Supports background shell command execution.
- ›Implements automatic theme switching based on terminal background color.
- ›Adds
allowedExtensionssetting 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
/statscommand output. - ›Adds support for custom deny messages in policy rules.
- ›Adds
GOOGLE_GENAI_API_VERSIONenvironment variable to override the Gemini API version. - ›Enables overriding
CODE_ASSIST_API_VERSIONwith 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.enabledstatus 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
/bugreports.
└──▷ BREAKING ON UPGRADE- !The legacy
tools.enableHookssetting is removed; hooks configuration must use the newhooksConfig.enabledsetting.
- ›Adds
- v0.27.0
gemini-cli v0.27.0 adds
/rewind,/agentsconfig, 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 ITRoll back a conversation to an earlier turn when the agent went down the wrong path.$ /rewindEnable 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
/rewindcommand to roll back conversation history to a previous state. - ›Adds
/agents configcommand for configuring and discovering subagents. - ›Adds enable/disable commands for MCP servers via
/mcp enableand/mcp disable. - ›Adds
AskUsertool and accompanyingAskUserDialogUI for structured mid-task user prompts. - ›Adds Plan mode, now reachable via Shift+Tab mode cycling, with its own UI theme and a
communicatetool kind.
+15 moreshow less
- ›Adds
code-reviewerskill for automated code review workflows. - ›Adds
docs-writerskill 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
AgentRegistryto 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
/aboutcommand 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.
- ›Adds
- v0.26.0
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 ITPass 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-creatorbuilt-in skill and CJS management tools for authoring and managing agent skills. - ›Adds experimental
--planflag 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
--promptflag for passing prompts directly on the command line. - ›Adds
autoalias 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
generalistagent 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
SchedulerStateManagerfor an event-driven scheduler with reactive tool state. - ›Optimizes text buffer and syntax highlighting for large inputs.
- ›Removes
read_many_filesfrom plan approval mode policies so file reads are always permitted without approval.
└──▷ BREAKING ON UPGRADE- !Settings previously named with a
disable*prefix are renamed toenable*(e.g., a setting likedisableXbecomesenableX); existing configs using the old names will need to be updated.
- ›Introduces
- v0.25.0
gemini-cli v0.25.0 adds built-in agent skills,
/agentscommand, 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 ITList all available agents mid-session to know which subagents you can delegate to.$ /agentsReload agent definitions after adding or modifying an agent without restarting the CLI.$ /agents refreshOverride 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-creatorskill, with multi-scope enablement and shadowing fixes. - ›New
/agentsslash command lists available agents;/agents refreshreloads 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_contexttoBeforeToolandAfterToolhook inputs for richer hook logic. - ›Model hooks now support explicit stop and block execution control.
- ›Adds
GEMINI_EXPenvironment variable for local experiments override. - ›Adds
GEMINI_CLI_HOMEenvironment 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
/bugcommand 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 debugcommand for nightly builds. - ›Enables the
cli_helpagent 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.
- ›Adds built-in Agent Skills support, including a new
- v0.24.0
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 skillscommand.└──▷ 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 ITList 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 installandextension uninstallsubcommands to manage extensions directly from the CLI. - ›Adds
gemini skillsCLI management command for discovering, listing, and reloading Agent Skills. - ›Adds
/skills reloadslash 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
SessionStarthook. - ›Implements dynamic mode-aware policy evaluation in the policy engine.
- ›Allows
modesfield 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
/modelpersistence across sessions (opt-in). - ›Adds folder suggestions to the
/dir addcommand. - ›Adds descriptions for each setting item displayed in
/settings. - ›Adds a
hooks.enabledsetting to globally enable or disable hooks. - ›Adds OSC 52 paste support via a new setting.
- ›Adds
modifyOtherKeysprotocol 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.
- !
SmartEditToolis consolidated intoEditTooland thesmart-editmodule is renamed toedit; configurations or extensions referencingsmart-editby name will break.
- ›Adds experimental
- v0.23.0
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 ITLog 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 logoutcommand 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
- v0.22.0
gemini-cli v0.22.0 adds persistent Always Allow policies, multi-file image drag-and-drop,
/initfor A2A servers, transcript_path in hooks, and richer/statsoutput.└──▷ 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 ITCheck quota consumption for every model — including ones you haven't used this session — to spot headroom before hitting limits.$ /statsInitialize 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
/initcommand for the Agent-to-Agent (A2A) server. - ›Adds
transcript_pathfield 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_TOKENenvironment 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.
- v0.21.0
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 ITCopy output to your local clipboard from an SSH/remote session without needing a local selection.$ gemini # inside the session: /copyAdd a remote MCP server using the new consolidatedurlfield and the--typealias.$ 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
--enableAgentsexperimental 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
--typealias for--transportflag ingemini mcp addfor 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
urlfield instead of separate transport fields. - ›Supports dynamic MCP tool updates via
notifications/tools/list_changed, keeping the tool list current without restarting. - ›Adds
/copyslash 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_statsOTEL log event for startup performance metrics. - ›Generates a one-line AI summary to describe saved sessions in the session list.
- ›Introduces a
restorecommand for the a2a server to resume previous sessions. - ›Integrates model availability service into backend logic for smarter model selection.
- ›Includes
session_idin JSON output for easier programmatic session tracking.
└──▷ BREAKING ON UPGRADE- !Remote MCP server config now uses a single
urlfield; existing configs using separate transport fields must be updated.
- v0.20.0
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 ITCheck 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
/statscommand 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
linkcommand. - ›Adds OTel semantic logging for API request events with finish reasons via updated telemetry.
- ›Standardizes the pager to
catfor shell executions run by the model, ensuring consistent output handling.
- v0.19.0
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 ITBrowse 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
/resumeslash 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) withModelPolicyandPolicyCatalogfor tracking and managing model health. - ›Adds
isModelAvailabilityServiceEnabledsetting 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
TerminalQuotaerrors so sessions continue without manual intervention. - ›Adds session subtask display in the
/statscommand output. - ›Displays a custom loading phrase when an interactive shell tool requires user input.
- ›Removes the
useModelRouterexperimental 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.
- v0.20.0-nightly.20251202.29920b16d
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.
- v0.20.0-nightly.20251201.2fe609cb6
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 ITCheck remaining API usage quota mid-session without leaving the CLI.$ /stats- ›Adds remaining usage-limit display to the
/statscommand 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
catfor 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.
- ›Adds remaining usage-limit display to the
- v0.20.0-nightly.20251127.5bed97064
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.
- v0.19.0-nightly.20251126.03845198c
gemini-cli v0.19.0-nightly adds
/resumeslash 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 ITBrowse and restore a previous conversation interactively without leaving the CLI.$ /resume- ›New
/resumeslash command opens an interactive session browser to restore previous chats. - ›New
isModelAvailabilityServiceEnabledconfig setting controls the model availability service. - ›Automatically falls back to Gemini Flash when a TerminalQuota error is encountered.
- ›New
- v0.18.0
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.
- v0.19.0-preview.0
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 ITBrowse and resume a past session interactively without leaving the CLI.$ /resumeCheck 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
/resumeslash 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
modelAvailabilityServicewithModelPolicyandPolicyCatalogfor managing and tracking model health. - ›Adds
isModelAvailabilityServiceEnabledsetting to toggle model availability tracking. - ›Automatic fallback to Gemini Flash on
TerminalQuotaerrors keeps sessions running when quota is exhausted. - ›Adds session subtask display to the
/statscommand 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
useModelRouterexperimental 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
useModelRouterexperimental 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.
- v0.19.0-nightly.20251125.f6d97d448
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
/statscommand for finer-grained session inspection.
+2 moreshow less
- ›Introduces
ModelPolicyandPolicyCatalogto govern model availability and selection rules. - ›Migrates chat compression service to model configs, enabling per-model compression configuration.
- v0.19.0-nightly.20251123.dadd606c0
gemini-cli v0.19.0-nightly adds
BaseLlmClient.generateContentand 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.generateContentmethod 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.
- ›Adds
- v0.19.0-nightly.20251122.42c2e1b21
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
modelAvailabilityServicefor 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
useModelRouterexperimental flag has been removed; any configuration or scripts referencing it will no longer be recognized.
- v0.19.0-nightly.20251121.5982abeff
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.
- v0.17.0
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
permissionscommand to support modifying trust for other directories.
+4 moreshow less
- ›Checks folder trust before allowing
add directoryoperations. - ›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.
- v0.18.0-preview.0
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 ITToggle 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.
- v0.18.0-nightly.20251120.2231497b1
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.
- v0.18.0-nightly.20251118.7cc5234b9
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.
- v0.16.0
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.
- v0.17.0-nightly.20251116.e650a4ee5
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
permissionscommand 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.
- v0.17.0-nightly.20251114.0fcbff506
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.
- ›Enables alternate screen buffer (
- v0.15.0
gemini-cli v0.15.0 adds session resume flags, a hooks execution engine,
/extensionsrestart, 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 ITReload 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 restartslash command to reload extensions without restarting the CLI. - ›Adds
listCommandsendpoint 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_replacementsparameter to the smart-edit tool. - ›Supports scrolling within the Ink-rendered UI.
- ›Switches terminal rendering to alternate buffer mode for cleaner display.
- v0.16.0-preview.0
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_todotool 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
/toolsoutput 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-filestool has been removed from the agent; workflows relying on it must switch to alternative file-reading approaches.
- v0.16.0-nightly.20251113.ad1f0d99
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_todotool for managing task lists directly within the CLI. - ›Always displays the internal tool name in
/toolsoutput for clearer tool identification.
- v0.16.0-nightly.20251112.c961f274
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_replacementsparameter 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.
- v0.14.0
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 ITTemporarily 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
/enableand/disablecommands 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
ModelConfigServicefor centralized model configuration management.
- v0.15.0-preview.0
gemini-cli v0.15.0 adds session resumption flags, a hook execution engine,
/extensionsrestart, 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 ITRestart 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 restartslash 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
listCommandsendpoint to the a2a server for agent-to-agent capability discovery. - ›Adds setting to disable GitHub extensions.
- ›Adds
expected_replacementsparameter 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
iconproperty on info messages is renamed toprefix.
- ›Adds CLI flags for session management and resuming chat sessions via
- v0.15.0-nightly.20251111.51f952e7
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.
- v0.15.0-nightly.20251110.c0b766ad
gemini-cli v0.15.0-nightly adds
/extensions restartcommand, live memory reload on extension changes, and a new a2alistCommandsendpoint.└──▷ 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 ITReload all extensions mid-session after editing an extension config or toggling excluded tools — no need to restart the CLI.$ /extensions restart- ›Adds
/extensions restartslash 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
listCommandsendpoint to the a2a server.
- ›Adds
- v0.15.0-nightly.20251107.cd27cae8
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
/enableand/disablecommands 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
ModelConfigServicefor centralized model configuration management.
- v0.13.0
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 ITAdjust 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
validatecommand 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_typeto 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
DarkGraycolor to the ColorTheme palette for custom themes. - ›Adds a
responsesemantic color for UI theming. - ›Adds alternate terminal buffer support.
- ›Enforces timeout for subagents and grants a recovery turn on TIMEOUT,
MAX_TURNS, orNO_TOOL_CALLfailures. - ›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.compressionThresholdis now marked as requiring a restart to take effect.
- ›Adds
- v0.14.0-preview.0
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 ITReload 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
/enableand/disablecommands 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
ModelConfigServicefor centralized model configuration management.
- v0.13.0-nightly.20251105.da3da198
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, orNO_TOOL_CALLfailures.
+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.
- v0.13.0-preview.0
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 ITAdjust 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
validatecommand 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, orNO_TOOL_CALLfailures. - ›Enforces a timeout for subagent execution.
- ›Adds
DarkGrayto theColorThemefor custom theme configuration. - ›Adds a
responsesemantic 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_typeand active extensions toStartSessionEventOpenTelemetry logging. - ›Logs extension name with
ToolCallEventtelemetry. - ›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.compressionThresholdsetting now requires a restart to take effect.
- ›Adds
- v0.12.0
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
extensionalias for the/extensionscommand for faster CLI access. - ›Adds an
executeCommandAPI 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.
- v0.13.0-nightly.20251103.9187f6f6
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.
- v0.13.0-nightly.20251101.caf2ca14
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.
- v0.13.0-nightly.20251031.c89bc30d
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
validatecommand 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.
- ›Adds
- v0.13.0-nightly.20251030.42c79c64
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 ITRecord 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
exploresubcommand 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-responsesflag 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_typeand loaded extensions toStartSessionEventOTel telemetry for richer session observability.
- v0.11.0
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 ITPipe 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+mList all registered MCP servers including their extension names to verify your extension-provided servers are loaded.$ gemini mcp list- ›Adds
--output-format stream-jsonflag for headless mode to emit streaming JSON output. - ›Adds
alt+mkeyboard 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 listcommand 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_USERpolicy 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+tbinding for/mcpcommands and reorganizes MCP slash commands. - ›Improves directory autocomplete by omitting trailing space after directory names.
└──▷ BREAKING ON UPGRADE- !The
--all-filesflag 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.
- ›Adds
- v0.12.0-preview.0
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 ITCall 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
extensionalias for theextensionscommand 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
executeCommandendpoint with support for/extensions listin 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.
- ›Adds
- v0.12.0-nightly.20251027.cb0947c5
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.
- v0.12.0-nightly.20251023.c4c0c0d1
gemini-cli v0.12.0-nightly adds an executeCommand endpoint with
/extensionslist 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
executeCommandendpoint supporting/extensions listto 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.
- ›Adds
- v0.12.0-nightly.20251023.a7faa208
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
extensionas a short alias for theextensionscommand. - ›Adds a setting to disable YOLO mode (auto-approve all tool calls).
- ›Adds logging for extensions activity.
- v0.10.0
gemini-cli v0.10.0 adds a code-guide command, interactive shell by default, smart edit enabled by default,
GOOGLE_CLOUD_PROJECT_IDfallback, 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 ITUseGOOGLE_CLOUD_PROJECT_IDas a fallback whenGOOGLE_CLOUD_PROJECTis not set, avoiding auth failures in environments where only the _ID variant is configured.$ GOOGLE_CLOUD_PROJECT_ID=my-project-123 gemini- ›Adds
code guidecommand for codebase investigation workflows. - ›Enables interactive shell by default, improving command execution experience.
- ›Enables
useSmartEditby default for smarter, context-aware file edits. - ›Supports
GOOGLE_CLOUD_PROJECT_IDenvironment 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.
- ›Adds
- v0.11.0-preview.0
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 ITStream 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+mList MCP servers to see which extension each one belongs to.$ gemini mcp list- ›Adds
--output-format stream-jsonflag for headless mode to stream structured JSON output. - ›Adds
alt+mkeyboard 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 listoutput 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_USERpolicy 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-filesflag has been removed (deprecated flag dropped). - !Deprecated telemetry flags have been removed.
- !Support for workspace extensions and migrations has been removed.
- !The
ctrl+tkey binding for/mcpcommands has been removed.
- ›Adds
- v0.11.0-nightly.20251021.e72c00cf
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.
- v0.11.0-nightly.20251020.a96f0659
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 ITStream 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 listToggle 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-jsonflag for streaming JSON output in headless/non-interactive mode. - ›Adds
alt+mkeyboard 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 listcommand output for clearer MCP server identification.
+5 moreshow less
- ›Surfaces
ASK_USERpolicy 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-filesflag 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-tkey binding for/mcpcommands has been removed.
- v0.10.0-preview.0
gemini-cli v0.10.0-preview.0 adds failed-response retry, context-overflow protection,
GOOGLE_CLOUD_PROJECT_IDfallback, 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 ITUseGOOGLE_CLOUD_PROJECT_IDas a fallback whenGOOGLE_CLOUD_PROJECTis 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_IDas a fallback environment variable for project configuration. - ›Introduces a new
code guidecommand for codebase investigation workflows. - ›Enables interactive shell by default for shell command execution.
+7 moreshow less
- ›Enables
useSmartEditby 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.
- v0.9.0
gemini-cli v0.9.0 adds subagent support, OpenTelemetry metrics, session auto-cleanup, and
memory listsubcommand.└──▷ 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 ITList all GEMINI.md memory files currently loaded, useful when debugging which context files are active across nested project directories.$ gemini memory listRestrict the tools the agent may call in a non-interactive CI pipeline, now that--allowed-toolsworks in headless mode.$ gemini --allowed-tools read_file,run_shell_command -p "Summarize the test failures in the last run"
- ›Adds
enableSubagentsconfiguration 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 listsubcommand to display the paths of all active GEMINI.md files. - ›Enables
--allowed-toolsflag 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
--pathargument for theextensions installcommand has been removed.
- ›Adds
- v0.10.0-nightly.20251015.996c9f59
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.
- v0.10.0-nightly.20251014.0a3e492e
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 guidecommand 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
useSmartEditby 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.
- ›Adds a
- v0.10.0-nightly.20251010.558be873
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.
- v0.10.0-nightly.20251009.ae02236c
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.
- v0.10.0-nightly.20251009.cd354aeb
gemini-cli v0.10.0-nightly adds session auto-cleanup,
memory list,--allowed-toolsin 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 ITList all GEMINI.md memory file paths to audit which context files are active in your workspace.$ gemini memory listRun a scripted, non-interactive task while restricting which tools the agent may call.$ echo 'Summarize the README' | gemini --allowed-tools read_file
UseGOOGLE_CLOUD_PROJECT_IDinstead ofGOOGLE_CLOUD_PROJECTwhen 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
listsubcommand formemorycommand lists paths of all GEMINI.md files. - ›Enables
--allowed-toolsflag in non-interactive (piped/scripted) mode. - ›Adds context window overflow protection to prevent failures when sending large chats.
- ›Supports
GOOGLE_CLOUD_PROJECT_IDas a fallback environment variable alongsideGOOGLE_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
--pathargument for theextensions installcommand has been removed.
- v0.8.0
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 updatecommand. - ›Adds enable/disable indicator in the extensions list.
- ›Uses
lastPromptTokenCountto 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.
- v0.9.0-preview.0
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 ITAudit which GEMINI.md memory files are active in your project hierarchy without opening each one.$ gemini memory listRun 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
enableSubagentsconfiguration 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
listsubcommand tomemorycommand to display paths of all GEMINI.md files. - ›Enables
--allowed-toolsflag 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
--pathargument for theextensions installcommand has been removed.
- ›Adds
- v0.9.0-nightly.20251002.0f465e88
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.
- v0.9.0-nightly.20251002.a6af7bbb
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_outputtool 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.
- ›Introduces
- v0.9.0-nightly.20251002.4a70d6f2
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.
- v0.9.0-nightly.20251002.460ec602
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.
- v0.9.0-nightly.20251002.99958c68
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
- v0.9.0-nightly.20251001.14dbda91
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 ITEnable subagents in your gemini-cli config to allow the CLI to delegate tasks to registered sub-agents.# 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
enableSubagentsconfiguration 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).
- v0.8.0-preview.1
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
lastPromptTokenCountto 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 updatecommand. - ›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.
- v0.7.0
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 ITRestrict 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--proxyflags 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
usePtyis renamed toenableInteractiveShell; existing configs referencingusePtywill stop working.
- v0.8.0-nightly.20250930.ae51bbda
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 updatecommand, reducing manual lookup of exact extension names.
- ›Adds extension name auto-complete to the
- v0.8.0-nightly.20250929.ae387b61
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.
- v0.8.0-nightly.20250929.a49a09f1
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.
- v0.8.0-nightly.20250929.042288e7
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
lastPromptTokenCountto 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.
- v0.8.0-nightly.20250927.19400ba8
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.
- v0.8.0-nightly.20250926.2defdcff
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 ITRestrict 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--proxyflags 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
usePtyis renamed toenableInteractiveShell; existing configs usingusePtywill break.
- v0.6.0
gemini-cli v0.6.0 adds JSON output,
/chatshare, 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 ITSearch 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 commandsUpdate all installed gemini-cli extensions to their latest versions in one step.$ gemini extensions update- ›Adds
--output jsonformat flag for machine-readable CLI output. - ›New
/chat sharecommand 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
.geminiignoresupport to the glob tool for excluding files from searches. - ›New
extensions updatecommand 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
useModelRouterfeature flag. - ›Hybrid and encrypted OAuth token storage when the corresponding security flags are enabled.
- ›Stateful extensions list UI showing per-extension update status.
- ›Adds
- v0.7.0-preview.0
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 ITRestrict 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--debugis 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--proxyflags 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
usePtyis renamed toenableInteractiveShell; existing configs usingusePtywill stop working.
- ›Adds policy engine configuration from existing settings via
- v0.7.0-nightly.20250918.2722473a
gemini-cli v0.7.0-nightly adds JSON output,
/chatshare, 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 ITSearch 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 commandsUpdate all installed gemini-cli extensions to their latest versions.$ gemini extensions update- ›Adds
--output jsonflag for machine-readable JSON output format. - ›New
/chat shareslash 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 updatecommand to update installed extensions. - ›Supports installing a git extension at a specific ref and checking for git extension updates.
- ›Adds
.geminiignoresupport 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
useModelRouterfeature 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.
- ›Adds
- v0.5.3
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 ITInstall 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
enumoption support for settings, enabling constrained drop-down style configuration values.
+3 moreshow less
- ›Makes
sourcea positional argument for theextensions installcommand, 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
/helpdiscovery.
└──▷ BREAKING ON UPGRADE- !Org/repo install support has been removed from the
extensions installcommand. - !The
sourceargument forextensions installis now a positional argument rather than a flag.
- ›Adds new
- v0.6.0-preview.2
gemini-cli v0.6.0-preview.2 adds JSON output,
/chatshare, 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 ITSearch 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 commandsUpdate all installed gemini-cli extensions to their latest versions in one step.$ gemini extensions update- ›Adds
--output jsonformat flag for machine-readable CLI output. - ›New
/chat sharecommand 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
.geminiignoresupport to the glob tool for file exclusion. - ›New
extensions updatecommand 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
useModelRouterfeature 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.
- ›Adds
- v0.5.0-preview.1
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 ITInstall an extension by passing the source as a positional argument instead of a flag.$ gemini extensions install <source>- ›Adds new
/docs,/git, and/PR reviewslash 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
enumoption support insettings.jsonfor constrained setting values.
+5 moreshow less
- ›Makes
sourcea positional argument inextensions 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
/helpdiscovery. - ›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 installno longer accepts org/repo targets.
- ›Adds new
- v0.6.0-nightly.20250910.a31830a3
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.
- v0.5.0-preview
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 ITInstall 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
enumoption support for settings fields, enabling constrained value selection.
+4 moreshow less
- ›Allows typing in the chat input while MCP servers are still loading.
- ›Makes
sourcea positional argument in theextensions installcommand. - ›Supports hidden slash commands that opt out of autocompletion and
/helpdiscovery. - ›Moves scope settings to a new dedicated dialog.
└──▷ BREAKING ON UPGRADE- !The
sourceargument forextensions installis 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.
- ›Adds new
- v0.4.0
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 ITGet 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-summaryflag to generate a summary at the end of a session. - ›Adds
gemini extensions linkcommand to link local extensions for development. - ›Adds flag to update all extensions at once.
- ›Supports installing extensions using
org/reposhorthand syntax. - ›Adds fuzzy matching for command suggestions when typing
/commands.
+16 moreshow less
- ›Adds syntax highlighting for input
/commandsand@file/pathsin 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
enforcedAuthTypesetting to lock down authentication method. - ›Adds footer configuration settings for UI customization.
- ›Adds support for nested
.gitignorefiles 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.
- ›Adds
- v0.4.0-preview.4
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 ITSummarize 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-extensionPass a one-shot prompt directly on the command line for scripting or quick queries.$ gemini "Summarize the changes in CHANGELOG.md"- ›Adds
--session-summaryflag 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 linkcommand to link a local extension directory.
+18 moreshow less
- ›Adds a flag to update all installed extensions at once.
- ›Supports installing extensions using
org/reposhorthand syntax. - ›Adds syntax highlighting for
/commandsand@file/pathsin 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
.gitignorefiles for more accurate file filtering. - ›Adds
enforcedAuthTypesetting 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.
- ›Adds
- v0.5.0-nightly.20250909.2b05cf3b
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
enumoptions 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.
- v0.5.0-nightly.20250908.4693137b
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
useUIhook and UIContext for richer programmatic UI interaction. - ›Allows slash commands to opt out of autocompletion and
/helpdiscovery for cleaner command surfaces.
- v0.4.0-preview.2
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 ITGet 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-extensionPass 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-summaryflag captures a summary of the current session. - ›Adds
gemini extensions linkcommand to link a local extension by path. - ›Adds flag to update all installed extensions at once.
- ›Supports installing extensions using
org/reposhorthand 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
/commandsand@file/pathsin the input prompt. - ›Adds footer configuration settings for UI customization.
- ›Adds
enforcedAuthTypesetting 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
.gitignorefiles 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.
- ›New
- v0.5.0-nightly.20250906.968e9389
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 ITInstall an extension using the new positionalsourceargument 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
sourcea positional argument inextensions 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_linesandai_removed_linesare renamed tomodel_added_linesandmodel_removed_lines; any dashboards or pipelines consuming these field names will break.
- v0.4.0-preview.1
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 ITGenerate 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-summaryflag to generate a summary at the end of a session. - ›Adds
gemini extensions linkcommand to link local extensions for development. - ›Adds flag to update all extensions at once.
- ›Supports installing extensions using
org/reposhorthand 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
/commandsand@file/pathsin 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
.gitignorefiles 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
enforcedAuthTypesetting 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.
- ›Adds
- v0.4.0-preview
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 ITGenerate 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-summaryflag 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 linkcommand to link local extensions by path.
+16 moreshow less
- ›Adds flag to update all extensions at once.
- ›Supports installing extensions using
org/reposhorthand. - ›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
/commandsand@file/paths. - ›Adds footer configuration settings.
- ›Supports nested
.gitignorefiles for file filtering. - ›Adds Ctrl+Backspace keyboard shortcut to delete a word backward.
- ›Adds
enforcedAuthTypesetting 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.
- ›Adds
- v0.3.0
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 ITInstall, 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, andlistsubcommands 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.
- ›Adds
- v0.4.0-nightly.20250904.e133acd2
gemini-cli v0.4.0-nightly adds extension management commands,
--allowed-toolsflag, YOLO/AUTO_EDITlockout 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 ITRun 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 installcommand to install extensions from the CLI. - ›Adds
extensions uninstallcommand to remove installed extensions. - ›Adds
extensions listcommand to view installed extensions. - ›Adds
extensions updatecommand to update installed extensions. - ›Adds
extensions enableandextensions disablecommands to toggle extensions without uninstalling.
+17 moreshow less
- ›Adds initial set of extension variables for use within extensions.
- ›Adds
--allowed-toolsflag to bypass tool confirmation prompts for specified tools. - ›Disables YOLO and
AUTO_EDITmodes 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
@fileprocessing support in TOML commands. - ›Adds session ID logging for non-interactive sessions in debug mode.
- ›Displays usage details in the
/toolscommand 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_filesandshow_memory_usagehave been removed.
- ›Adds
- v0.3.0-preview.3
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 ITInstall, 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, andlistsubcommands 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.
- ›Adds
- v0.3.0-preview.2
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 ITLoad a custom color theme from a local file instead of a built-in theme name.$ gemini --theme /path/to/my-theme.json
- ›Adds
extensions installcommand to install CLI extensions from the command line. - ›Adds
extensions uninstallcommand to remove installed CLI extensions. - ›Adds
extensions listcommand to view all installed extensions. - ›Adds
extensions updatecommand 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.
- ›Adds
- v0.3.0-preview.1
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 ITInstall, 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, andlistcommands 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.
- ›Adds
- v0.2.0
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 ITRestart 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 refreshnow restarts MCP servers in addition to reloading configuration. - ›Adds
hideFootersetting to remove the footer from the CLI UI. - ›Adds
skipNextSpeakerChecksetting 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
/idesubcommands based on live connection status rather than a staticideModeboolean. - ›Includes IDE client information in
/bugand/aboutoutput when IDE mode is active. - ›Adds file change tracking to session metrics.
- ›Refactors shell execution to use
node-pty, enabling proper pseudo-terminal support.
- v0.3.0-nightly.20250823.1a89d185
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 ITLoad 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.
- v0.3.0-nightly.20250822.15c62bad
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.
- v0.3.0-nightly.20250821.653267a6
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 ITPipe 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
-pand 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
ChatRecordingServicefor automatic conversation saving across sessions. - ›Adds
/mcp refreshnow 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
/idesubcommands conditionally based on actual IDE connection status. - ›Adds IDE client name to
/aboutand/bugoutput when IDE mode is active. - ›Adds session ID to session summary and
/bugreport 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.
- ›Supports combining
- v0.2.0-preview.0
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 ITRestart a misbehaving MCP server mid-session without quitting gemini-cli.$ /mcp refresh- ›Introduces
ChatRecordingServicefor automatic conversation saving to session files. - ›Adds read/write file access through the Zed editor via IDE integration.
- ›Adds
hideFootersetting to hide the footer from the CLI UI. - ›Enables
/mcp refreshto restart MCP servers in addition to refreshing them. - ›Shows
/idesubcommands dynamically based on actual IDE connection status rather than a static boolean.
+5 moreshow less
- ›Adds IDE client information to
/bugand/aboutoutput when IDE mode is enabled. - ›Adds
skipNextSpeakerChecksetting 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-ptyfor improved terminal emulation support. - ›Adds file change tracking metrics to session telemetry.
- ›Introduces
- v0.1.22
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 ITPipe 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
-pflag 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
/bugreport template for easier cross-referencing of support issues. - ›Displays the IDE client's display name in
/aboutoutput 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.
- ›Supports combining
- v0.1.21
gemini-cli v0.1.21 adds VS Code & Zed IDE integration, MCP OAuth, loop detection, custom themes, and a new
/idecommand 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 ITSuppress the startup banner in scripted or automated sessions to keep output clean.$ echo '{"hideBanner": true}' >> ~/.gemini/settings.jsonRoute 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 statusand/ide installcommands 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/excludedMCP 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
hideBannersetting to suppress the startup banner. - ›Adds an explicit
--proxyoption 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.jsonto remain active.
- v0.1.19-nightly.250814.514e883a
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are active at startup. - ›Adds
excludeToolsandincludeToolsoptions tomcpServersconfig to filter individual MCP tools per server. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile 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
/helpoutput. - ›Improves
isCommandAllowederror 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.
- ›Adds
- v0.1.20
gemini-cli v0.1.20 adds
--approval-modeflag 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 ITRun gemini-cli in an automated pipeline where you want to pre-approve all tool calls without manual confirmation.$ gemini --approval-mode auto
- ›Adds
--approval-modeparameter 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.
- ›Adds
- v0.1.19-nightly.250813.9d023be1
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 ITRestrict 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.{ "mcpServers": { "my-server": { "command": "npx my-mcp-server", "excludeTools": ["delete_resource", "shutdown"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers are activated at startup. - ›Adds
excludeToolsandincludeToolsoptions inmcpServersconfig to filter individual tools exposed by an MCP server. - ›Adds a command-line option to enable and list extensions.
- ›Supports
.svgfiles as input via the@filemechanism. - ›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
/helpoutput. - ›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
--helpoutput 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
/chatcommand now requires a tag argument; existing scripts or muscle-memory invoking/chatwithout a tag will fail.
- ›Adds
- v0.1.19
gemini-cli v0.1.19 adds MCP management commands, fzf file completion, subagent architecture,
/settingspanel, 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 ITOpen the interactive settings panel mid-session to inspect or change configuration without restarting.$ /settings- ›Adds
gemini mcp add,gemini mcp remove, andgemini mcp listsubcommands 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
@-commandfile path completion powered by fzf integration for faster, fuzzy file targeting.
+15 moreshow less
- ›Introduces
/settingsslash command and UI panel for in-session configuration management. - ›Adds overwrite confirmation dialog to
/chat saveto prevent accidental overwrites. - ›Supports in-IDE diff handling and rendering via the edit tool when running in IDE mode.
- ›Adds
folderTrustsetting 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 (
showLineNumbersconfig 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-directoriesCLI argument (removed from the CLI args surface). - ›Adds host validation to GoogleCredentialProvider for improved credential security.
- ›Improves UI layout adaptation for narrow terminals.
- ›Introduces
DeclarativeToolandToolInvocationprimitives 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-directoriesoption is dropped from CLI args; any scripts or configs passing this flag will break.
- ›Adds
- v0.1.18-nightly.250812.26fe587b
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are activated at startup. - ›Adds
excludeToolsandincludeToolsfields tomcpServersconfig for per-server tool filtering. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile 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
isCommandAllowedfor shell command permission denials. - ›Displays YOLO mode shortcut inside
/helpoutput. - ›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
/chatcommand now requires a tag argument; invocations without a tag will fail.
- ›Adds
- v0.1.18-nightly.250811.2865a527
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are activated at startup. - ›Adds
excludeToolsandincludeToolsoptions tomcpServersconfig for per-server tool filtering. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile support for@filecontext 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
isCommandAllowedfor 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
--helpoutput, 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
/chatcommand now requires a tag argument; invocations without a tag will fail.
- ›Adds
- v0.1.18-nightly.250810.c632ec8b
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 ITRestrict 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.# in settings.json { "mcpServers": { "my-server": { "command": "npx", "args": ["my-mcp-server"], "includeTools": ["read_file", "list_dir"], "excludeTools": ["delete_file"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers are loaded at startup. - ›Adds
excludeToolsandincludeToolsfields inmcpServersconfig to control which tools are exposed per MCP server. - ›Adds a command-line option to enable and list extensions.
- ›Supports
.svgfiles as input via the@filesyntax. - ›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
/helpoutput. - ›Adds user startup warnings and home directory check to catch common misconfiguration early.
- ›Improves error messages in
isCommandAllowedfor 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
--helpoutput using full terminal width. - ›Adds general usage message to
--helpoutput. - ›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. - !
/chatnow requires a tag argument; invoking/chatwithout a tag will fail.
- ›Adds
- v0.1.17-nightly.250809.f35921a7
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 ITRestrict 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.{ "mcpServers": { "my-security-server": { "command": "npx", "args": ["my-mcp-server"], "includeTools": ["run_scan", "get_findings"], "excludeTools": ["delete_policy"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers are activated at startup. - ›Adds
excludeToolsandincludeToolsoptions inmcpServersconfig to control which tools each MCP server exposes. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile 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
isCommandAllowedfor 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
--helpoutput 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.
- ›Adds
- v0.1.17-nightly.250808.60362e03
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are active at startup. - ›Adds
excludeToolsandincludeToolsoptions inmcpServersconfig to filter tools per MCP server. - ›Adds a command-line option to enable and list extensions.
- ›Supports
.svgfiles as input (via@fileor 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
isCommandAllowedfor 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
--helpoutput 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
/chatcommand now requires a tag argument; existing workflows invoking/chatwithout a tag will break.
- ›Adds
- v0.1.18
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 ITSuppress the ASCII startup banner in automated pipelines or when embedding gemini-cli in scripts.# 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 statusand/ide installcommands 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/excludedMCP 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
hideBannersetting to suppress the startup banner. - ›Adds an explicit
--proxyoption 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.jsonto remain active.
- ›Introduces a VS Code companion extension enabling IDE integration, with
- v0.1.17-nightly.250806.805114ae
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 ITRestrict 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.{ "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-namesflag to restrict which MCP servers are active at launch. - ›Adds
excludeToolsandincludeToolsfields tomcpServersconfig for fine-grained MCP tool filtering. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile 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
/helpoutput. - ›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
isCommandAllowedfor blocked shell commands. - ›Backtick usage re-enabled in the shell tool.
- ›Respects
respectGitIgnore=falseconfig setting when using@filereferences. - ›Honors
DEBUGandCLI_TITLEenvironment 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
/chatcommand now requires a tag argument; existing workflows that invoke/chatwithout a tag will break.
- ›Adds
- v0.1.17
gemini-cli v0.1.17 adds IDE integration, MCP OAuth, loop detection, proxy support, custom themes, and new
/idecommands.└──▷ 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 ITSuppress the startup banner in scripts or headless environments where it adds noise.# 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
hideBannersetting to disable the startup banner. - ›Introduces VSCode companion extension for IDE integration with gemini-cli.
- ›Adds
/ide statusand/ide installcommands 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/excludedMCP 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
--proxyoption 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.
- ›Adds
- v0.1.16-nightly.250805.99ba2f64
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 ITRestrict 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.{ "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-namesflag to restrict which MCP servers are active at runtime. - ›Adds
excludeToolsandincludeToolsfields tomcpServersconfig for per-server tool filtering. - ›Adds a command-line option (
--extensions) to enable and list extensions. - ›Adds
.svgfile 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
/helpoutput. - ›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
--helpoutput 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
/chatcommand now requires a tag argument; invocations without a tag will fail.
- ›Adds
- v0.1.16-nightly.250804.a8984a9b
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are active at launch. - ›Adds
excludeToolsandincludeToolsper-server config options inmcpServersto whitelist or blacklist individual MCP tools. - ›Adds a command-line option (
--extensions) to enable and list extensions. - ›Adds
.svgfile 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
/helpfor discoverability. - ›Improves error messages in
isCommandAllowedfor clearer shell tool permission feedback. - ›Formats tool execution time as minutes and seconds.
- ›Updates minimum Node.js requirement to version 20.
- ›Respects
respectGitIgnore=falseconfig setting when using@filereferences. - ›Allows
settings.jsonvariable substitution to honor env variables defined in.env. - ›Re-enables backtick usage in shell tool invocations.
- ›Adds general usage message to
--helpoutput and renders it at full terminal width.
└──▷ BREAKING ON UPGRADE- !The
--allowed_mcp_server_namesflag 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
/chatcommand now requires a tag argument; invocations without a tag will fail.
- ›Adds
- v0.1.15-nightly.250803.820169ba
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers the CLI connects to at startup. - ›Adds
excludeToolsandincludeToolsconfig options permcpServersentry to fine-tune which MCP tools are exposed. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile 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
/helpfor discoverability. - ›Improves error messages in
isCommandAllowedto 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.
- ›
--helpoutput 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. - !
/chatnow requires a tag argument; invocations without a tag will fail.
- ›Adds
- v0.1.16
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 ITSuppress the startup banner in scripts or automated pipelines where it clutters output.# 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
hideBannersetting to disable the startup banner insettings.json. - ›Introduces VS Code companion extension for IDE integration with gemini-cli.
- ›Adds Zed editor integration.
- ›Adds
/ide statusand/ide installcommands 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/excludedMCP server name filtering insettings.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
--proxyoption 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.
- ›Adds
- v0.1.15-nightly.250802.15a1f1af
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are active at launch. - ›Adds
excludeToolsandincludeToolsper-server options inmcpServersconfig to filter individual MCP tools. - ›Adds
.svgfile 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
isCommandAllowedfor 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.
- !
/chatnow requires a tag argument; bare/chatinvocations without a tag will fail.
- ›Adds
- v0.1.15-nightly.250801.6f7beb41
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are loaded at startup. - ›Adds
excludeToolsandincludeToolsper-server config keys inmcpServersto control which tools each MCP server exposes. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile 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
isCommandAllowederror messages for clearer shell restriction feedback. - ›Respects
.envfile environment variables insettings.jsonvariable substitution.
└──▷ BREAKING ON UPGRADE- !The
--allowed_mcp_server_namesflag 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.
- ›Adds
- v0.1.15-nightly.250731.0c6f7884
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 ITRestrict 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.{ "mcpServers": { "my-server": { "command": "npx", "args": ["my-mcp-server"], "includeTools": ["read_file", "list_dir"], "excludeTools": ["shell_exec"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers are activated at runtime. - ›Adds
excludeToolsandincludeToolsfields tomcpServersconfig for per-server tool filtering. - ›Adds a command-line option to enable and list extensions (
--extensions). - ›Supports
.svgfiles as input via the@filereference 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
isCommandAllowedfor 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
/helpoutput. - ›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.
- !
/chatnow requires a tag argument; invoking/chatwithout a tag will fail.
- ›Adds
- v0.1.15
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 ITSuppress the startup banner in headless or scripted environments by setting hideBanner in your config.hideBanner: true
Install the VS Code companion extension and check IDE integration status from within the CLI.$ /ide install /ide status- ›Adds
hideBannersetting to disable the startup banner. - ›Introduces a VSCode companion extension for IDE integration, with
/ide statusand/ide installcommands 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/excludedMCP server name lists in settings to control which MCP servers are active. - ›Adds an explicit
--proxyoption 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
/mcpdisplay. - ›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.
- ›Adds
- v0.1.13-nightly.250730.091804c7
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are loaded at startup. - ›Adds
excludeToolsandincludeToolsper-server config options inmcpServersto control which MCP tools are exposed. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile 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
/helpoutput. - ›Improves 429/quota error handling with Code Assist customer tier awareness.
- ›Updates minimum required Node.js version to 20.
- ›Shows
--helpoutput 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
isCommandAllowedfor 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. - !
/chatnow requires a tag argument; invocations of/chatwithout a tag will no longer work.
- ›Adds
- v0.1.13-nightly.250729.83c4dddb
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 ITRestrict 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.{ "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-namesflag to restrict which MCP servers are activated at startup. - ›Adds
excludeToolsandincludeToolsoptions inmcpServersconfig to filter individual MCP tools per server. - ›Adds a command-line option to enable and list extensions.
- ›Adds SVG file support for
@filecontent 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
isCommandAllowedfor clearer shell permission feedback. - ›Displays YOLO mode shortcut inside
/helpoutput. - ›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=falseconfig when using@filereferences. - ›Updates ASCII art to adapt to smaller terminal screens.
└──▷ BREAKING ON UPGRADE- !The
--allowed_mcp_server_namesflag 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.
- !
/chatnow requires a tag argument; invoking/chatwithout a tag will no longer work.
- ›Adds
- v0.1.13-nightly.250728.9ed35126
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 ITLimit 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.{ "mcpServers": { "my-server": { "command": "npx", "args": ["my-mcp-server"], "includeTools": ["read_file", "list_directory"], "excludeTools": ["delete_file"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers the CLI connects to at startup. - ›Adds
excludeToolsandincludeToolsoptions inmcpServersconfig to filter which tools a given MCP server exposes. - ›Adds a command-line option to enable and list extensions.
- ›Supports
.svgfiles 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
isCommandAllowedfor 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.
- !
/chatnow requires a tag argument; invoking/chatwithout a tag will no longer work.
- ›Adds
- v0.1.13-nightly.250727.3e81359c
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are active at startup. - ›Adds
excludeToolsandincludeToolsconfig keys insidemcpServersconfig to filter MCP tools per server. - ›Adds a command-line option to enable and list extensions.
- ›Adds
.svgfile 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
/helpoutput. - ›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
isCommandAllowedfor clearer shell permission feedback. - ›Adds general usage message to
--helpoutput. - ›Uses full terminal width for
--helprendering. - ›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.
- ›Adds
- v0.1.13-nightly.250726.fb751c54
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 ITRestrict 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.# In settings.json / .gemini/settings.json { "mcpServers": { "my-server": { "command": "npx my-mcp-server", "includeTools": ["search", "fetch"], "excludeTools": ["delete"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers are active at startup. - ›Adds
excludeToolsandincludeToolsfields inmcpServersconfig to filter individual tools per MCP server. - ›Adds
.svgfile 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
/helpoutput. - ›Improves error messages in
isCommandAllowedto 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
--helpoutput 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.
- ›Adds
- v0.1.14
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 ITSuppress the startup banner in CI or scripted workflows where the banner adds noise.# 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
hideBannersetting to disable the startup banner via settings.json. - ›Introduces a VS Code companion extension for IDE integration, with
/ide statusand/ide installcommands 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/excludedMCP server name filters in settings. - ›Adds MCP OAuth infrastructure (Part 1) for authenticating MCP servers.
- ›Adds an explicit
--proxyoption 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.
- ›Adds
- v0.1.13
gemini-cli v0.1.13 adds IDE integration with VSCode/Zed, MCP OAuth, loop detection, proxy support, and new
/idecommands.└──▷ 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 ITSuppress the startup banner in automated or scripted workflows where the banner clutters output.# 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 statusand/ide installcommands to manage IDE integration from the CLI. - ›Adds MCP OAuth infrastructure (Part 1) enabling OAuth-authenticated MCP servers.
- ›Adds support for
allowed/excludedMCP 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
hideBannersetting to disable the startup banner. - ›Adds explicit
--proxyoption 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
toolSummarizationonly when explicitly set insettings.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 insettings.json; previously-enabled behavior will stop working on upgrade.
- v0.1.11-nightly.250713.4442e893
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 ITRestrict 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.{ "mcpServers": { "my-server": { "command": "npx", "args": ["my-mcp-server"], "includeTools": ["read_file", "list_directory"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers are loaded at startup. - ›Adds
excludeToolsandincludeToolsfields inmcpServersconfig 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
.svgfile 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
isCommandAllowedfor 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
--helpoutput. - ›Respects
respectGitIgnore=falseconfig when using@filereferences. - ›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
/chatcommand now requires a tag argument; existing usage of/chatwithout a tag will fail.
- ›Adds
- v0.1.10
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 ITRestrict 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.{ "mcpServers": { "my-server": { "command": "npx", "args": ["my-mcp-server"], "includeTools": ["read_file", "list_directory"], "excludeTools": ["exec_shell"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers the CLI connects to at startup. - ›Adds
excludeToolsandincludeToolsoptions tomcpServersconfig 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
.svgfile 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
isCommandAllowedfor clearer shell command policy feedback. - ›Displays the YOLO mode shortcut inside
/helpfor 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
DEBUGandCLI_TITLEenvironment 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
/chatcommand now requires a tag argument; bare/chatinvocations without a tag will fail.
- ›Adds
- v0.1.11
gemini-cli v0.1.11 adds
NO_BROWSERenv 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 ITAuthenticate in a headless SSH session or CI environment where no browser is available.$ NO_BROWSER=1 gemini- ›Adds
NO_BROWSERenvironment 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.
- ›Adds
- v0.1.9-nightly.250710.da50a1ee
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 ITLimit 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.# in settings.json { "mcpServers": { "my-server": { "command": "npx my-mcp-server", "includeTools": ["run_query", "list_tables"], "excludeTools": ["drop_table"] } } }- ›Adds
--allowed-mcp-server-namesflag to restrict which MCP servers are active at launch. - ›Adds
excludeToolsandincludeToolsfields tomcpServersconfig for per-server tool filtering. - ›Adds
.svgfile 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
/helpoutput. - ›Improves error messages in
isCommandAllowedfor 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
--helpoutput 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_namesis 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
/chatcommand now requires a tag argument; invocations without a tag will fail.
- ›Adds
- v0.1.9-nightly.250709.c8cf954e
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 ITRestrict 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.# In settings.json or gemini config { "mcpServers": { "my-server": { "command": "npx", "args": ["my-mcp-server"], "includeTools": ["read_file", "list_dir"] } } }- ›New
--allowed-mcp-server-namesflag restricts which MCP servers the CLI connects to at runtime. - ›New
excludeToolsandincludeToolsfields inmcpServersconfig allow per-server tool allowlisting and blocklisting. - ›Adds a command-line option to enable and list extensions.
- ›Supports
.svgfiles 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
isCommandAllowedfor 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.
- !
/chatnow requires a tag argument; existing workflows that invoke/chatwithout a tag will fail.
- ›New
- v0.1.9-nightly.250708.137ffec3
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 ITLimit 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.# 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-namesflag to restrict which MCP servers are activated at startup. - ›Adds
excludeToolsandincludeToolsfields tomcpServersconfig 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
@filereferences. - ›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
/helpoutput. - ›Improves error messages in
isCommandAllowedto 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_nameswas renamed to--allowed-mcp-server-names; scripts using the underscore form will break.
- ›Adds
- v0.1.9-nightly.250708.a4097ae6
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 ITRestrict 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.# 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-namesflag to restrict which MCP servers are active at launch. - ›Adds
excludeToolsandincludeToolsoptions per MCP server entry inmcpServersconfig to control which tools each server exposes. - ›Adds
.svgfile support for@filecontext 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
/helpoutput. - ›Improves error messages in
isCommandAllowedfor 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.
- ›Adds
- v0.1.9-nightly.250707.d1c0a211
gemini-cli v0.1.9-nightly raises minimum Node.js to v20 and requires a tag argument for
/chatsessions.└──▷ 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
/chatcommand. - ›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
/chatcommand now requires a tag argument; invocations without a tag will fail.
- v0.1.9-nightly.250704.23eea823
gemini-cli v0.1.9-nightly now requires a tag for
/chatand 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
/chatcommand, enforcing named chat sessions. - ›Updates ASCII art to scale appropriately for smaller terminal screens.
└──▷ BREAKING ON UPGRADE- !The
/chatcommand now requires a tag argument; existing workflows that invoke/chatwithout a tag will break.
- ›Requires a tag argument for the
- v0.1.9
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
excludedToolsin extensions, letting extension authors block specific tools from being used. - ›Supports
session_idin API calls for session-scoped request tracking.
- v0.1.8
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 ITSuppress startup tips when running gemini-cli in non-interactive or scripted pipelines.# In settings.json { "hideTips": true }- ›Adds audio and video support to the
read_filetool, enabling multimodal analysis of media files. - ›Supports modular
GEMINI.mdimports using@file.mdsyntax, allowing shared instruction fragments across projects. - ›Adds
hideTipssetting 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
/statscommand to include more detailed token/usage breakdowns. - ›Highlights previous user input in the terminal UI for improved session readability.
└──▷ BREAKING ON UPGRADE- !The
AuthTypevalueLOGIN_WITH_GOOGLE_PERSONALis renamed toLOGIN_WITH_GOOGLE; any config or scripts referencing the old value will break.
- ›Adds audio and video support to the