mrkeyoor.com_
Sat 31 Oct 03:53 UTC
AI Toolsevaluationupdated 02 Oct 2026

gemini-cli review

Gemini CLI is Google's open-source terminal agent for reading code, editing files, running shell commands, searching the web, and calling Gemini models. It also works in scripts, connects to MCP servers, reads project instructions, saves checkpoints, and links to an IDE companion.

+255stars / 7d
Verdict

Our Gemini CLI run installed 1,336 packages and built successfully, but 10 of 7,201 tests failed before the suite hit 900 seconds and npm audit reported 73 vulnerabilities. Use the stable package if your team already relies on Gemini and can confine file, shell, web, and MCP access. Hold this source revision out of managed automation until you reproduce the failures and inspect the critical and high audit paths.

We ran it

Lab card: what happened when we ran gemini-cliScreenshot of gemini-cli (geminicli.com)
Install✓ · 46s1336 packages · 798 MB
Build✓ · 95s
Tests✗ timed out · 900s7187 passed · 10 failed · 4 skipped of 7201 (vitest)
Known vulns735 critical · 22 high · 42 moderate · 4 low (npm audit)
Repo3016 files~703,120 lines of source · 87.4 MB · 47 CI workflows · Dockerfile

Answers from our run

Does gemini-cli build from source?

Dependencies installed in 46 seconds (1336 packages), and the build succeeded in 95 seconds. We cloned commit c6bccb7 into a clean Debian container with 3 CPUs and no project-specific setup.

Do gemini-cli's tests pass?

No. The project's own test command finished in 900 seconds and reported 7187 passed, 10 failed, 4 skipped (vitest).

Does gemini-cli have known vulnerabilities in its dependencies?

npm audit flagged 73 known advisories in the dependency tree, including 5 critical at the time of our run.

Who should not use gemini-cli?

Teams that require a clean dependency audit before evaluation: our npm audit reported 73 known vulnerabilities, including 5 critical and 22 high.

What are the alternatives to gemini-cli?

Claude Code, OpenAI Codex, Qwen Code. Our Gemini CLI run installed 1,336 packages and built successfully, but 10 of 7,201 tests failed before the suite hit 900 seconds and npm audit reported 73 vulnerabilities.

Setup3/546-second install, but 798 MB and Google authentication are required
Docs5/5Clear auth, tools, sandbox, scripting, and extension guides
Community5/5107,222 stars and code pushed on October 2, 2026
Maturity3/5Weekly releases, but our suite and dependency audit were not clean

Discussed on

  1. hnGemini CLI1,428 points
  2. hnIt looks like the status/need-triage label was removed303 points
  3. hnAddressing Antigravity Bans and Reinstating Access254 points
  4. hnGemini CLI: mitigating abuse and prioritizing traffic7 points
  5. hnGoogle Gemini bans OAuth with third parties blocking most OpenClaw users6 points

Who it’s for

Developers who already use Gemini and want an agent inside the terminal.
Teams that need a choice of Google OAuth, an API key, or Vertex AI authentication.
Automation authors who can handle JSON or streamed JSON output and verify each action.
MCP users prepared to review the tools and credentials exposed to the model.

Who it’s NOT for

Teams that require a clean dependency audit before evaluation: our npm audit reported 73 known vulnerabilities, including 5 critical and 22 high.
Contributors expecting a quick green suite: our run hit the 900-second limit with 10 failures still reported.
Users unwilling to let an agent reach files, a shell, or the web, since the README lists all three as built-in tools.
Organizations that need a provider-neutral or offline agent: the documented authentication paths all reach a Google-hosted Gemini service.
MCP setups exposing hundreds of tools without curation: open issue 24246 reports a 400 response when more than 400 tools are available.

Setup reality

Our fresh Debian sandbox installed commit c6bccb7 in 46 seconds, pulling 1,336 npm packages and using 798 MB. The build passed in 95 seconds. Tests reached the 900-second cap with 7,187 passed, 10 failed, and 4 skipped out of 7,201; npm audit found 73 known vulnerabilities: 5 critical, 22 high, 42 moderate, and 4 low.

Running the published CLI needs Node 20 or newer plus Google OAuth, a Gemini API key, or Vertex AI credentials. Source work uses npm workspaces. MCP servers, IDE connections, and GitHub automation bring their own settings, tokens, and review boundaries.

Sandboxing differs by platform and may need Docker, Podman, macOS Seatbelt, gVisor, or an existing LXC container. The repository had 3,016 files, about 703,120 source lines, 47 CI workflow files, and a Dockerfile, so source contribution is much heavier than the one-command package start.

The package starts quickly, while the source tree spans 703,120 lines

Gemini CLI puts a coding agent in the terminal. It can inspect and change files, execute shell commands, fetch pages, and ground a request with Google Search. Interactive sessions suit repository work, while headless runs can return plain text, JSON, or streamed JSON events. MCP support adds tools from outside services. Those abilities make it useful, but they also determine the size of the trust boundary.

The README offers an npx command, a global npm install, Homebrew, MacPorts, and Anaconda. Working on the source is a different proposition. Our checkout contained 3,016 files, about 703,120 lines of source, and 87.4 MB before installation. It is an npm workspace monorepo with 47 CI workflow files and a Dockerfile. A developer trying the package and a contributor changing the agent are signing up for very different amounts of machinery.

Three authentication routes still end at Google

You can sign in with a Google account, supply a Gemini API key, or configure Vertex AI. OAuth is the simplest route for an individual. An API key gives explicit model selection, while Vertex AI fits organizations already operating in Google Cloud. Node 20 or newer is required by the root package. None of these routes turns Gemini CLI into a local-model runner.

That distinction matters in restricted networks and provider-diverse stacks. The client is Apache-2.0 licensed, yet the documented model path still needs a Google service and its account, quota, and data-handling rules. The README currently advertises 60 requests per minute and 1,000 requests per day for personal sign-in. Treat those figures as service terms to recheck, since they are not properties of the source code.

What happened when we ran it

Our sandbox installed commit c6bccb7 in 46 seconds, adding 1,336 npm packages and consuming 798 MB on disk. The build succeeded in 95 seconds. We used Node 22 in a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. Npm audit reported 73 known vulnerabilities: 5 critical, 22 high, 42 moderate, and 4 low.

The test command did not finish within 900 seconds. Vitest reported 7,187 passed, 10 failed, and 4 skipped out of 7,201. The supplied log tail showed several slower BrowserManager cases passing, including invalid-domain and connection-failure handling. It also showed passing session-summary, IDE connection, retry, code-assist, and hook-runner files. The tail did not name the 10 failures, so it does not support a diagnosis.

Those results say two useful things at once. Most tests passed, and this commit still missed a clean release gate in our environment. The same restraint applies to the 73 audit findings: their severity counts deserve inspection, but the audit summary alone does not prove that every advisory is reachable through normal CLI use. A team adopting the source should map the affected dependency paths before deciding on exposure.

MCP breadth needs curation before it becomes useful

MCP servers are configured through Gemini settings and can expose systems such as source control, chat, or databases. This is more than a convenience feature. Each server gives the model another set of actions and may introduce a token or credential. Open issue 24246 reports a 400 response when more than 400 tools are available, so a very large MCP catalog can fail before the model chooses anything.

Keep the tool list tied to the current job. A database reader, Slack sender, and GitHub writer do not all need to sit in every session. Headless mode makes this discipline more important because JSON output can look machine-ready even when a tool call timed out or stopped halfway through. Scripts should check process status, parse structured errors, and verify the intended file or remote change before continuing.

Sandboxing narrows damage, but its boundary changes by platform

Gemini CLI supports macOS Seatbelt, Docker or Podman, gVisor, Windows Native Sandbox, and experimental LXC. Docker and Podman mount the current workspace at the same absolute path inside the container. gVisor needs a configured runsc runtime. LXC expects an existing container and does not create one for you. The default macOS profile permits broad reads and network access while limiting writes.

Those are meaningful controls, not a universal safety switch. Open issue 22672 says the agent can sometimes choose destructive Git commands such as reset or force when a safer route exists. For important repositories, use a disposable branch, restrict credentials, inspect mounted paths, and require confirmation for irreversible commands. A sandbox can limit the blast radius, while review still decides whether a change belongs.

The October 2 push is active maintenance, not a clean-room result

GitHub showed 107,222 stars, 787 combined issues and pull requests, and a push on October 2, 2026. Stable v0.62.0 shipped on September 29. Its release notes include OAuth refresh-token handling, PTY lifecycle work, MCP tool-title formatting, IDE fixes, and test stabilization. The README describes weekly stable and preview releases plus daily nightlies.

The project is plainly active. Activity does not erase our 10 failed tests or classify 73 dependency findings. Try the stable package in a disposable repository if Gemini is already part of your stack. For managed use, pin the release, select one sandbox path, keep MCP access narrow, and make a green run on your own operating system the entry ticket.

Alternatives

ProjectWhat it isPick it when
Claude Code gh↗Anthropic's terminal coding agent with project instructions, tools, hooks, and integrations.pick this instead when Claude models and Anthropic's workflow fit your team better.
OpenAI Codex gh↗OpenAI's terminal coding agent for repository work, review, and automation.pick this instead when your organization already uses OpenAI models and Codex tooling.
Qwen Code gh↗An open-source terminal coding agent built around Qwen and compatible providers.pick this instead when Qwen models or broader provider choice matter more than Google's service integration.

Sources

  1. Gemini CLI repository
  2. Gemini CLI README
  3. Gemini CLI sandbox guide
  4. Gemini CLI v0.62.0 release
  5. Gemini CLI issue 24246
  6. Gemini CLI issue 22672

More ai tools reviews

KiroCrew · Orkas · hypit · Paradev · see-through · Resume-Matcher · the whole board →

Related reading