google-gemini/gemini-cli
An open-source AI agent that brings the power of Gemini directly into your terminal.
How gemini-cli is put together
Gemini CLI is an open-source AI coding agent that runs in the terminal, published as @google/gemini-cli. It is a TypeScript ESM monorepo managed with npm workspaces: packages/cli provides the interactive terminal UI built on React 19 + Ink (plus headless/scripted modes and an ACP stdio mode), while packages/core contains the agent engine that calls Gemini models via @google/genai and executes built-in tools (shell, filesystem, web fetch/search, MCP client integrations). An optional Express-based A2A server (packages/a2a-server) exposes the agent over HTTP using @a2a-js/sdk. Data flow: user prompt -> CLI -> core agent loop against the Gemini API -> tool invocations (sandboxed optionally via Docker/Podman) -> streamed responses rendered in the Ink UI or emitted as JSON/stream-json. Extensive quality infrastructure includes vitest unit tests, integration tests driven by recorded fake model responses, LLM behavioral evals, and memory/perf regression suites.
Languages
Frameworks
Infrastructure
Major components
packages/cli (@google/gemini-cli)
Terminal user interface, argument parsing, slash commands, interactive/headless modes, and ACP stdio serving, built with React/Ink.
packages/core (@google/gemini-cli-core)
Core agent engine: Gemini API client, authentication, built-in tools (shell, file ops, web fetch/search), MCP client, policy/checkpointing, and OpenTelemetry telemetry exports.
packages/a2a-server (@google/gemini-cli-a2a-server)
Express HTTP server exposing the agent via the A2A (agent-to-agent) protocol, with Google Cloud Storage and tar-based artifact/session handling.
packages/devtools
Devtools UI bundled into the CLI (aliased in esbuild.config.js and built before bundling).
packages/test-utils
Shared test rigging (e.g., AppRig) used by evals and package tests to drive the app in-process.
evals/
Behavioral LLM evaluation suite (*.eval.ts) with retries, logging, and an LLM judge, run via its own vitest config.
integration-tests/
End-to-end vitest suite running the bundled CLI with recorded fake model responses (.responses files) across sandbox modes (none/docker/podman).
scripts/ + sea/
Build, bundle, release, sandbox-image, telemetry-schema generation, lockfile checks, and SEA binary launch tooling.
A quieter week focused on polishing history rollback behavior and cleaning up safety and cancellation edge cases.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A quieter week focused on polishing history rollback behavior and cleaning up safety and cancellation edge cases.
Week of 2026-08-17
Sixteen fixes landed, mostly clearing out a backlog of small but annoying bugs reported by users, plus security hardening of the macOS sandbox.
Week of 2026-08-10
The week centered on making error handling smarter — especially around model capacity limits — plus new evaluation tooling for developers.
Week of 2026-08-03
The busiest week: heavy investment in automated 'caretaker' infrastructure that triages GitHub issues, plus a wave of conversation-handling fixes and new releases.
Week of 2026-07-27
Work focused on stopping retry hangs from server overload, better error messages for empty responses, and early pieces of the PR-generator database and agent.
Over the past five weeks, the gemini-cli team focused heavily on reliability: fixing retry, cancellation, and capacity-error handling so the tool stops hanging or losing conversation context mid-task. A major theme was building out internal automation — a 'caretaker' agent for issue triage and a 'PR generator' pipeline that can automatically fix bugs — alongside a batch of small user-facing fixes from an SSR agent. Releases shipped steadily (v0.53.0 through v0.57.0-preview), with sandbox security hardening and eval tooling rounding out the work.
Week by week
2026-08-24A quieter week focused on polishing history rollback behavior and cleaning up safety and cancellation edge cases.latest3 changes
Fix
History rollback and retry nudge improvements
Optimized how the tool rolls back conversation history and nudges retries when something goes wrong.
Fix
Top-level safety checkers in write policy
Made sure file-writing safety checks are properly declared in the configuration so they always apply.
Fix
Stale cancellation errors cleared in a2a-server
Fixed a bug where an old 'cancelled' error message could wrongly appear on a brand-new message turn.
2026-08-17Sixteen fixes landed, mostly clearing out a backlog of small but annoying bugs reported by users, plus security hardening of the macOS sandbox.6 changes
Fix
Sandbox socket isolation on macOS
Tightened the macOS Seatbelt sandbox so Docker and container tools can't reach sockets and binaries they shouldn't.
Fix
Sub-agent handoff token regression fixed
Resolved a startup problem where handing off to a sub-agent used the wrong token count.
Fix
Terminal hang prevention with execution timeouts
Added timeouts so the text interface no longer hangs indefinitely while waiting on commands.
Fix
Terminal refresh after external editors
Forced the screen to redraw after you exit editors like Vim, fixing garbled display output.
Fix
Empty text turns preserved with tools or media
Stopped the tool from dropping blank message turns that carried attached files or images.
Docs
Privacy notice wording clarified
Rewrote the privacy notice so its wording and selection options are easier to understand.
2026-08-10The week centered on making error handling smarter — especially around model capacity limits — plus new evaluation tooling for developers.6 changes
Fix
Context-aware silent retries for capacity errors
The tool now quietly retries when servers are overloaded and remembers availability before giving up.
Fix
False capacity-exhaustion errors resolved
Fixed cases where the tool wrongly claimed the AI model was out of capacity due to a quota lookup mix-up.
Fix
Full multi-turn rollback on cancellation
Cancelling a request now cleanly undoes the entire multi-step exchange instead of leaving partial results.
Feature
Local eval report command
Developers got a new command and documentation for running and reviewing evaluation reports locally.
Fix
MCP OAuth token refresh fixed
Connected-tool logins now refresh correctly using the originally stored client ID instead of failing.
Chore
v0.55.1 release
Shipped a patch release bundling the week's stability fixes.
2026-08-03The busiest week: heavy investment in automated 'caretaker' infrastructure that triages GitHub issues, plus a wave of conversation-handling fixes and new releases.6 changes
Feature
Caretaker triage automation built out
Added Cloud Run jobs, evaluation frameworks, and Pub/Sub wiring so an automated agent can triage incoming issues end-to-end.
Feature
PR generator pipeline components
Laid the groundwork for a system that automatically generates pull requests to fix bugs, including its database, orchestrator, and core utilities.
Fix
/compress session reload repaired
Fixed broken session reloading after compressing a conversation, which was also losing tool responses during quota fallbacks.
Fix
New messages no longer fuse into unanswered tool calls
Prevented a new user message from getting incorrectly merged into a pending tool response.
Chore
v0.54.0 released
Cut a full release along with preview and nightly version bumps.
Fix
macOS seatbelt profile fallback
The CLI now falls back to built-in sandbox profiles if the expected ones are missing on disk.
2026-07-27Work focused on stopping retry hangs from server overload, better error messages for empty responses, and early pieces of the PR-generator database and agent.6 changes
Fix
Capacity exhaustion treated as terminal
When the AI service is truly out of capacity, the tool stops retrying endlessly and fails fast instead.
Fix
Clearer guidance for empty responses
Specific empty-response failures now show helpful details in the UI instead of a generic error.
Feature
PR generator database locking
Implemented concurrency safeguards in Firestore so multiple automated workers don't collide.
Feature
Antigravity agent runner for PR generation
Added the agent runner and prompt templates that power automated bug-fixing pull requests.
Fix
File keychain tag validation
Enforced strict length checks and validation on tags stored in the file-based keychain.
Chore
Release housekeeping
Cut v0.53.0 and v0.54.0 preview releases with several nightly version bumps.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 1362 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required