Go to file
Shreya Keshive e74dc4d0e0
Update versioning script to also bump version for companion extension so they stay in sync (#6075)
2025-08-14 14:30:16 +00:00
.gcp chore(ci): fix yamllint issues (#6112) 2025-08-13 03:24:39 +00:00
.gemini chore(ci): fix yamllint issues (#6112) 2025-08-13 03:24:39 +00:00
.github chore(ci): add global linter (#6111) 2025-08-13 18:56:10 +00:00
.vscode Upgrade integration tests to use Vitest (#6021) 2025-08-12 22:57:27 +00:00
docs docs: update how to use vertex AI auth with ADC (#6193) 2025-08-14 04:01:11 +00:00
integration-tests Upgrade integration tests to use Vitest (#6021) 2025-08-12 22:57:27 +00:00
packages Log CLI version and git commit hash (v2) (#6176) 2025-08-14 10:12:26 +00:00
scripts Update versioning script to also bump version for companion extension so they stay in sync (#6075) 2025-08-14 14:30:16 +00:00
.editorconfig chore: add .editorconfig (#2572) 2025-06-29 19:40:32 +00:00
.gitattributes Adding .gitattributes (#1303) 2025-06-23 06:58:41 +00:00
.gitignore Log CLI version and git commit hash (v2) (#6176) 2025-08-14 10:12:26 +00:00
.npmrc fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +00:00
.nvmrc chore: Expand node version test matrix (#2700) 2025-07-21 16:33:54 -07:00
.prettierrc.json Run `npm run format` 2025-04-17 15:29:34 -07:00
.yamllint.yml chore(ci): add global linter (#6111) 2025-08-13 18:56:10 +00:00
CONTRIBUTING.md fix: exclude DEBUG and DEBUG_MODE from project .env files by default (#5289) 2025-08-03 18:44:15 +00:00
Dockerfile fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +00:00
GEMINI.md chore(gemini.md): Make the checkExhaustive helper section more brief/direct (#6181) 2025-08-13 22:59:46 +00:00
LICENSE Update LICENSE (#1664) 2025-06-26 03:34:01 +00:00
Makefile Fix duplicate help text for build targets in Makefile (#4092) 2025-07-14 04:42:07 +00:00
README.md Add usage documentation for IDE integration (#6154) 2025-08-13 16:31:20 +00:00
ROADMAP.md fix: small typo in ROADMAP.md (#5593) 2025-08-05 19:04:10 +00:00
SECURITY.md doc: use standard Google security policy for GitHub projects (#5062) 2025-08-01 16:12:32 +00:00
esbuild.config.js fix(ci): Fix failing release workflow by creating a self-contained bundle (#4888) 2025-07-25 20:18:59 +00:00
eslint.config.js chore(usage telemetry): Freshen up Clearcut logging (#6013) 2025-08-12 18:31:59 +00:00
package-lock.json chore(release): v0.1.21 (#6207) 2025-08-14 06:14:25 +00:00
package.json chore(release): v0.1.21 (#6207) 2025-08-14 06:14:25 +00:00
tsconfig.json chore(build/compiler): Enable a bunch of strict TS compiler options. (#6138) 2025-08-13 20:17:38 +00:00

README.md

Gemini CLI

Gemini CLI CI Version License

Gemini CLI Screenshot

Gemini CLI is an open-source AI agent that brings the power of Gemini directly into your terminal. It provides lightweight access to Gemini, giving you the most direct path from your prompt to our model.

🚀 Why Gemini CLI?

  • 🎯 Free tier: 60 requests/min and 1,000 requests/day with personal Google account
  • 🧠 Powerful Gemini 2.5 Pro: Access to 1M token context window
  • 🔧 Built-in tools: Google Search grounding, file operations, shell commands, web fetching
  • 🔌 Extensible: MCP (Model Context Protocol) support for custom integrations
  • 💻 Terminal-first: Designed for developers who live in the command line
  • 🛡️ Open source: Apache 2.0 licensed

📦 Installation

Quick Install

Run instantly with npx

# Using npx (no installation required)
npx https://github.com/google-gemini/gemini-cli

Install globally with npm

npm install -g @google/gemini-cli

Install globally with Homebrew (macOS/Linux)

brew install gemini-cli

System Requirements

  • Node.js version 20 or higher
  • macOS, Linux, or Windows

📋 Key Features

With Gemini CLI you can:

  • Code Understanding & Generation

    • Query and edit large codebases
    • Generate new apps from PDFs, images, or sketches using multimodal capabilities
    • Debug issues and troubleshoot with natural language
  • Automation & Integration

    • Automate operational tasks like querying pull requests or handling complex rebases
    • Use MCP servers to connect new capabilities, including media generation with Imagen, Veo or Lyria
    • Run non-interactively in scripts for workflow automation
  • Advanced Capabilities

    • Ground your queries with built-in Google Search for real-time information
    • Conversation checkpointing to save and resume complex sessions
    • Custom context files (GEMINI.md) to tailor behavior for your projects
  • 🔗 GitHub Integration

    • Use the Gemini CLI GitHub Action for automated PR reviews
    • Automated issue triage and on-demand AI assistance directly in your repositories
    • Seamless integration with your GitHub workflows

🔐 Authentication Options

Choose the authentication method that best fits your needs:

Option 1: OAuth login (Using your Google Account)

Best for: Individual developers as well as anyone who has a Gemini Code Assist License. (see quota limits and terms of service for details)

Benefits:

  • Free tier: 60 requests/min and 1,000 requests/day
  • Gemini 2.5 Pro with 1M token context window
  • No API key management - just sign in with your Google account
  • Automatic updates to latest models

Start Gemini CLI, then choose OAuth and follow the browser authentication flow when prompted

gemini

If you are using a paid Code Assist License from your organization, remember to set the Google Cloud Project

# Set your Google Cloud Project
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_NAME"
gemini

Option 2: Gemini API Key

Best for: Developers who need specific model control or paid tier access

Benefits:

  • Free tier: 100 requests/day with Gemini 2.5 Pro
  • Model selection: Choose specific Gemini models
  • Usage-based billing: Upgrade for higher limits when needed
# Get your key from https://aistudio.google.com/apikey
export GEMINI_API_KEY="YOUR_API_KEY"
gemini

Option 3: Vertex AI

Best for: Enterprise teams and production workloads

Benefits:

  • Enterprise features: Advanced security and compliance
  • Scalable: Higher rate limits with billing account
  • Integration: Works with existing Google Cloud infrastructure
# Get your key from Google Cloud Console
export GOOGLE_API_KEY="YOUR_API_KEY"
export GOOGLE_GENAI_USE_VERTEXAI=true
gemini

For Google Workspace accounts and other authentication methods, see the authentication guide.

🚀 Getting Started

Basic Usage

Start in current directory

gemini

Include multiple directories

gemini --include-directories ../lib,../docs

Use specific model

gemini -m gemini-2.5-flash

Non-interactive mode for scripts

gemini -p "Explain the architecture of this codebase"

Quick Examples

Start a new project

cd new-project/
gemini
> Write me a Discord bot that answers questions using a FAQ.md file I will provide

#### Analyze existing code
```bash
git clone https://github.com/google-gemini/gemini-cli
cd gemini-cli
gemini
> Give me a summary of all of the changes that went in yesterday

🔗 GitHub Integration

Integrate Gemini CLI directly into your GitHub workflows with the Gemini CLI GitHub Action. Key features include:

  • Pull Request Reviews: Automatically review pull requests when they're opened.
  • Issue Triage: Automatically triage and label GitHub issues.
  • On-demand Collaboration: Mention @gemini-cli in issues and pull requests for assistance and task delegation.
  • Custom Workflows: Set up your own scheduled tasks and event-driven automations.

📚 Documentation

Getting Started

Core Features

Tools & Extensions

Advanced Topics

Configuration & Customization

Troubleshooting & Support

  • Troubleshooting Guide - Common issues and solutions
  • FAQ - Quick answers
  • Use /bug command to report issues directly from the CLI

Using MCP Servers

Configure MCP servers in ~/.gemini/settings.json to extend Gemini CLI with custom tools:

> @github List my open pull requests
> @slack Send a summary of today's commits to #dev channel
> @database Run a query to find inactive users

See the MCP Server Integration guide for setup instructions.

🤝 Contributing

We welcome contributions! Gemini CLI is fully open source (Apache 2.0), and we encourage the community to:

  • Report bugs and suggest features
  • Improve documentation
  • Submit code improvements
  • Share your MCP servers and extensions

See our Contributing Guide for development setup, coding standards, and how to submit pull requests.

Check our Official Roadmap for planned features and priorities.

📖 Resources

Uninstall

See the Uninstall Guide for removal instructions.


Built with ❤️ by Google and the open source community