Gemini CLI
Gemini CLI is Google's terminal coding agent — open-source (Apache-2.0), TypeScript / Node-based. You install it via npm or Homebrew, run gemini inside any project directory, and the agent reads your code, edits files, runs commands, and calls Gemini 2.5 Pro / Flash with tool use. It's the closest analogue to Claude Code and Codex CLI from the Google side. It speaks MCP natively (client + server). Generous free tier through a personal Google account. Every page below is sourced from github.com/google-gemini/gemini-cli and ai.google.dev/gemini-api/docs. Sush hasn't standalone-installed it yet.
- GCL.1 Gemini CLI, plainly sourced
Five-minute orientation to Gemini CLI — Google's open-source terminal coding agent. What it does, where it runs, what it costs, and where it fits vs Claude Code, Codex CLI, and GitHub Copilot CLI.
- GCL.2 Install Gemini CLI sourced
Three install paths for Gemini CLI — npm (the canonical one), Homebrew, MacPorts — plus an Anaconda fallback for restricted enterprise environments. Plus what's pre-installed in Cloud Shell, system requirements, and the three release channels.
- GCL.3 Authentication for Gemini CLI sourced
Four ways to sign Gemini CLI in — Google OAuth, Gemini API key, Vertex AI (three sub-paths), Code Assist licence — plus headless / CI patterns and where Gemini stores your credentials.
- GCL.4 What Gemini CLI is documented to be good at sourced
Five concrete use cases for Gemini CLI from the official docs and READMEs — codebase analysis with the 1M context window, MCP-driven tool use, scripted automation in CI, GitHub Action for PR review, and prototyping against the free tier. Plus what it's not yet good at.
- GCL.5 Gemini CLI — pitfalls and rough edges sourced
The rough edges in Gemini CLI as of May 2026 — sandbox-off-by-default, Windows icacls persistence, the README's Gemini 3 vs stable Gemini 2.5 mismatch, the top-ranked tool-loop bug, sycophancy, no local model support, no sub-agents, hardcoded editor support.
- GCL.6 MCP integration in Gemini CLI sourced
How Gemini CLI talks to MCP servers — three transport types (Stdio, SSE, Streamable HTTP), config in settings.json, allowlisting tools per server, automatic credential redaction, OAuth auto-discovery for remote servers, and the @server://resource syntax.