G-genの杉村です。Google が公開するオープンソースの AI エージェント Gemini CLI について解説します。

概要
Gemini CLI とは
Gemini CLI とは、ターミナルから直接 Gemini の機能を利用できる、オープンソース(Apache 2.0 ライセンス)の AI エージェントです。gemini コマンドを介して、自然言語でコーディング、デバッグ、情報検索、各種タスクの自動化などを実行できます。
主に開発者による利用が想定されている CLI ツールであるといえます。
Gemini CLI は、ローカルのファイルシステムを直接読み書きしたり、シェルコマンドを実行したり、Web 検索を行ったりできます。これにより、単なるコード生成に留まらず、プロジェクト全体にわたるリファクタリングや、定型的な開発タスクの自動化といった、より実践的なワークフローに Gemini を組み込むことが可能になります。
Gemini CLI は Google の最新モデルである Gemini 2.5 Pro などをモデルとして利用しており、100 万トークンという広大なコンテキストウィンドウを活用できます。
- 参考 : Gemini CLI: your open-source AI agent
- 参考 : Gemini CLI | Gemini Code Assist | Google for Developers
- 参考 : GitHub - google-gemini/gemini-cli
2025年9月現在、Gemini CLI は Preview 段階と位置づけられています。
料金
Gemini CLI は、使用方法によっては無料で利用できます。Gemini CLI 自体はオープンソースであるため、利用料金はかかりません。しかし、背後で動作する LLM(Gemini)の利用料金を考慮する必要があります。
個人の Google アカウントでログインすると、1分あたり 60 リクエスト、1日あたり 1,000 リクエストまで無料でモデルを呼び出すことができます。
より多くのリクエストが必要な場合、使用量ベース課金の Google AI Studio (API Key)または Google Cloud の Vertex AI、あるいは有償版の Gemini Code Assist Standard / Enterprise ライセンスを利用することも可能です。
- 参考 : GitHub - docs/quota-and-pricing.md
- 参考 : Quotas and limits | Gemini Code Assist | Google for Developers
また Gemini Code Assist Standard / Enterprise ライセンスで Gemini CLI を利用すると、利用量の制限が緩和されるほか、Gemini Code Assist と連携して VS Code で Gemini Code Assist エージェントモード が利用可能になります。
Google Workspace アカウントでも Gemini CLI を利用可能です。後述する Login with Google の方法で Google Workspace アカウントを使って認証する場合、Google Cloud プロジェクト ID の指定が必須です。ただしこの方法を使って認証する場合、どのような利用規約が適用されるのか、また料金が発生するかどうかについて、Google は明確なドキュメントを用意していません。Google Workspace アカウントをお使いの方が業務等で Gemini CLI を利用する場合、後述の「初期設定 > 認証」の後で紹介するように、Google Cloud の Vertex AI で認証、あるいは Gemini Code Assist の有償プランを使って認証することが推奨されます。
初期設定
インストール
Gemini CLI は npm パッケージとして配布されています。Node.js v18 以降がインストールされている環境で、以下のコマンドを実行してインストールします。
# npm コマンドによるインストール npm install -g @google/gemini-cli # もしくは以下のコマンド npx https://github.com/google-gemini/gemini-cli
インストール後、gemini コマンドを実行すると、Gemini CLI が起動します。
gemini

認証
初めてこのコマンドを実行するときは、文字への色付けなど見た目の設定に続いて、自動的に認証フローが開始されます。

Login with Google を選択すると、新しいブラウザウインドウがポップアップして、Google アカウントによる認証が走ります。Gemini CLI の無償版や Gemini Code Assist 有償プランと連携したいときは、この認証方法を選択します。
export GOOGLE_CLOUD_PROJECT="my-google-cloud-project"
Gemini API Key は、Google AI Studio の API キーを指定して認証するときに選択します。モデルの呼び出しが Google AI Studio 経由になります。これを選択することで、呼び出し量制限が緩和された従量課金になります。
Vertex AI を選択すると、モデルの呼び出しが Google Cloud の Vertex AI 経由になります。この方法で認証するには、事前に Vertex AI API(aiplatform.googleapis.com)を有効化した Google Cloud プロジェクトを用意しておく必要があります。その後、環境変数または .env ファイルで、プロジェクト ID やリージョンなどを指定します。export コマンドで事前に以下のような環境変数を定義しておくか、.env と名付けたファイルをコマンド実行ディレクトリに配置することで、設定が読み込まれます。
.env ファイル(環境変数)の例
GOOGLE_GENAI_USE_VERTEXAI="true" GOOGLE_CLOUD_PROJECT="my-google-cloud-project" GOOGLE_CLOUD_LOCATION="global"
Google Cloud をすでに利用中であれば、この認証方法を選択することで、呼び出し量制限が緩和された従量課金になります。また、入力したプロンプトや出力されたレスポンスは、Google Cloud の規約に従って保護され、再トレーニングなどには使われません。
なお Vertex AI 経由の認証の場合、事前に gcloud auth application-default login コマンドを実行して、Gemini CLI が Google Cloud へ認証できるようにする必要があります。
Cloud Shell での利用
Google Cloud の Web コンソールには、Cloud Shell と呼ばれる仮想 Linux ターミナル環境が付属しています。この Cloud Shell 環境でも、Gemini CLI が利用できます。
Cloud Shell にはデフォルトで Gemini CLI がインストールされており、追加のセットアップは必要ありません。
- 参考 : Gemini CLI
なお認証については、Gemini CLI を Cloud Shell 環境で起動すると、Use Cloud Shell user credentials が選択肢として表示されます。これを選択すると、Gemini CLI は自動的に Cloud Shell 環境にログインしているユーザーアカウントの認証情報を使って認証を行います。

Cloud Shell 環境における開発に関するその他の情報については、以下の記事も参考にしてください。
リモートサーバー等での利用
リモートのサーバー上で Gemini CLI を認証するときなどには、Login with Google の認証方法を選択すると、操作の途中で処理が止まってしまうことがあります。この認証方法を選択した場合、認証フローの中でブラウザウインドウがポップアップし、ログイン操作後に localhost にリダイレクトして戻って来る挙動があることに由来します。リモートサーバーは localhost とは別のプラットフォームで動作していますので、ブラウザからのリダイレクト時に Gemini CLI まで情報を戻すことができないことが原因です。

このような場合には、NO_BROWSER という名前の環境変数に値を設定してから Gemini CLI を起動することで、ブラウザのポップアップとリダイレクトをしない方法で認証を行うことができます(Gemini CLI の v0.1.11 以降で利用可能)。
まず、NO_BROWSER という名前の環境変数に何らかの値をセットします。
export NO_BROWSER=true
その後、Gemini CLI を起動します。以前の認証方法から変更する場合、/auth を実行します。

すると CLI の再起動を促され、CLI が終了します。再度、gemini コマンドを実行して CLI を起動します。すると、以下のように認証用 URL が発行されるため、この URL にブラウザでアクセスします。

ブラウザ上で Google アカウントでログインすると、認証コードの文字列が発行されます。この文字列をコピーし、ターミナル上で貼り付けて Enter を入力すると、認証が完了します。

使い方
対話型実行
ターミナルで gemini コマンドを引数なしで実行すると、対話型モードで Gemini CLI が起動します。
gemini
プロンプトが表示されたら、自然言語で指示を入力します。
引数を2つ取って、足し算をする Python ライブラリを作ってください。 テストもしたいです。
すると、Gemini は思考プロセスや作業の内容を表示します。


シェルコマンドの実行やファイルを作成するときなどには、ユーザーに実行の許可を求めます。

プロンプトでテストの実行も依頼していたことから、テストコードも作成してくれました。単一タスクではなく、指示に基づいて複数ステップのタスクを行っていることがわかります。


最後に、テストコードの実行まで行い、タスクが完了しました。
非対話型実行
パイプや引数を使って、ワンショットでタスクを実行することもできます。これは、シェルスクリプトに処理を組み込む際に便利です。--prompt オプションをつけると、対話型でなく、ワンショットの処理を行ってくれます。
$ cat calculator.py | gemini --prompt "このコードを説明して" このPythonコードは `add` という名前の関数を定義しています。 この関数は `a` と `b` の2つの引数(数値)を受け取り、それらを足し算した結果を返します。 例えば、`add(2, 3)` のように呼び出すと、`5` が返ってきます。
プロジェクトごとのコンテキスト設定
プロジェクトのルートディレクトリに GEMINI.md という名前の Markdown ファイルを配置することで、そのプロジェクト専用のシステムプロンプトを設定できます。
例えば、GEMINI.md に以下のように記述しておくと、Gemini はこの指示を常に念頭に置いて応答するようになります。
# プロジェクト概要 このプロジェクトは Python で記述されています。 コーディング規約は pep8 のスタイルガイドに従います。 # ルール ....
Gemini Code Assist との連携(エージェントモード)
Gemini Code Assist のライセンス(無償版、Standard、Enterprise)で Gemini CLI の認証を行うと、VS Code で Gemini Code Assist エージェントモード(agent mode)が使えます。
エージェントモードでは、単なる自然言語に従った生成に留まらず、計画、実行、検証、反復的な修正など、複数のステップを含む複雑なタスクをこなすことができます。
- 参考 : Gemini CLI - Gemini Code Assist agent mode
- 参考 : Use the Gemini Code Assist agent mode | Google for Developers
エージェントモードでは、以下のような機能が利用可能です。MCP サーバーの利用や、ユーザーの承認を得ずにすべてのタスクを Gemini CLI が実行できる Yolo モード、その他のツールなどが利用可能になります。
- Model Context Protocol(MCP)servers
- Gemini CLI commands(
/memory、/stats、/tools、/mcp) - Yolo(You Only Look Once)mode
- built-in tools(
grep、terminal、file read or file write...) - Web search
- Web fetch
プライバシーポリシーとデータ保護
Gemini モデルに関するデータ保護
Gemini CLI の「Terms of Service and Privacy Notice」は以下で公開されています。なお、当記事の記載内容は2025年9月中旬現在の情報に基づいていますので、最新情報は必ず以下の規約ドキュメントを確認してください。
Gemini CLI で Gemini モデルを使用した際に、どのようなプライバシーポリシーが適用され、収集されたデータ(プロンプト、回答、コード)がどのように扱われるかは、認証方法に依存します。
| 連番 | 認証方法 | 概要 | 利用規約 | プライバシーポリシー |
|---|---|---|---|---|
| 1 | Login with Google かつ Gemini Code Assist 有償プランなし | データは Google のサービス改善やモデル改善に使われる可能性がある | Google Terms of Service | Gemini Code Assist Privacy Notice for Individuals |
| 2 | Login with Google かつ Gemini Code Assist 有償プランあり | データは Google のサービス改善やモデル改善には使われない | Google Cloud Platform Terms of Service | Gemini Code Assist Privacy Notice for Standard and Enterprise |
| 3 | Gemini API Key(無償版) | データは Google のサービス改善やモデル改善に使われる可能性がある | Gemini API Terms of Service - Unpaid Service | Google Privacy Policy |
| 4 | Gemini API Key(有償版) | データは Google のサービス改善やモデル改善には使われない | Gemini API Terms of Service - Paid Service | Google Privacy Policy |
| 5 | Vertex AI | データは Google のサービス改善やモデル改善には使われない | Google Cloud Platform Service Terms | Google Cloud Privacy |
上記から、データが保護される(入力したプロンプトや AI からのレスポンスなどが Google のサービス改善や再トレーニングに使われないことを指します)ための条件は、以下のとおりです。
- Gemini Code Assist の有償プラン(Standard / Enterprise)のライセンスと紐づいた Google アカウントで認証している(表の2)
- Gemini API Key(Google AI Studio)の有償版で認証している(表の4)
- Google Cloud の Vertex AI で認証している(表の5)
上記以外のケースでは、個人 Google アカウントか Google Workspace アカウントかに関わらず、入出力データは Google に再利用される可能性があります。
なお、2025年7月初頭ころの Terms of Service and Privacy Notice ドキュメントでは、Google Workspace ユーザーであれば、無条件でデータが保護されるように解釈できる記載がありました。しかし2025年7月中旬ころにこの記載が改められ、上記に要約したとおりの記載となっています。
前述したように、Login with Google の方法で Google Workspace アカウントを使って認証する場合、どのような利用規約が適用されるのか、また料金が発生するかどうかについて、Google はドキュメントに明記していません。Google Workspace アカウントをお使いの方が業務等で Gemini CLI を利用する場合、Vertex AI で認証、あるいは Gemini Code Assist の有償プランを使って認証することが推奨されます。
Gemini CLI の統計情報
前述の表は、Gemini モデル側のデータの扱いを示しています。一方、Gemini CLI 自体も利用統計(Usage Statistics)という情報を収集しています。利用統計の収集は、オプトアウト(無効化)することができます。
利用統計では、ツールの呼び出しや API リクエストの記録、CLI の設定情報などが収集対象です。一方で、プロンプトやレスポンス、氏名やメールアドレス、ファイルの内容などは収集されません。よって、オプトアウトする、しないに関わらず、プロンプトやレスポンスが保護されるかどうかは、前述の規約に依存します。
前述の表の1と3では、利用統計をオプトアウトしたとしても、停止されるのは上記の統計情報の収集のみであり、依然としてプロンプトやレスポンスなどは Google に収集され、サービス改善や再トレーニングに使用される可能性は残ります。
よって、Gemini CLI で機微な情報を扱う場合は、前述の表の 2、4、5 のいずれかを選択することが望ましいといえます。
杉村 勇馬 (記事一覧)
執行役員 CTO
元警察官という経歴を持つ IT エンジニア。クラウド管理・運用やネットワークに知見。AWS 認定資格および Google Cloud 認定資格はすべて取得。X(旧 Twitter)では Google Cloud や Google Workspace のアップデート情報をつぶやいています。
Follow @y_sugi_it