← All reportsPublic report

google-gemini/gemini-cli

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

107k stars TypeScript View on GitHubprofiled 11d ago
Try GitZoid
80PRs this week
11Contributors
1362Deps scanned
0Issues found
01 · Repo overview

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

TypeScriptJavaScript

Frameworks

React 19Ink (TUI, aliased to @jrichman/ink)Express 5esbuildVitestOpenTelemetryyargs

Infrastructure

Docker (Dockerfile, sandbox image us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox)Podman sandbox optionGitHub Actions CI (ci.yml, chained_e2e.yml)Google Cloud Artifact Registry (npm + docker auth scripts)Single-executable application (SEA) binary buildnpm registry distribution (latest/preview/nightly tags), Homebrew/MacPorts

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.

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.

03 · Security check

Dependencies and code review

1362 dependencies scanned

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