Gemini CLIの徹底解説:AIをターミナルから使いこなす
GoogleのエンジニアによってGitHubで公開された、Gemini APIを利用するオープンソースのCLIツール「Gemini CLI」は、AIの力を直接ターミナルから活用できる強力なツールです。
本ツールは現在開発が進行中のプレビュー段階にあり、将来的に仕様が変更される可能性があります。
プレビュー版では、1日あたり最大1,000リクエストまでという制限付きながらも、試用に適した環境が提供されています。
開発者は自然言語で指示を出すことで、コードの生成や修正、スクリプトの自動作成といった作業を、手軽に実行することが可能です。
コードの分析からタスクの自動化、コンテンツ生成まで、その用途は多岐にわたります。
この記事では、Gemini CLIの導入方法から基本的な使い方、さらには高度な活用方法までを詳しく解説します。
1. Gemini CLI のインストールと設定
1.1 Node.jsのインストール
「LTS」と書かれている、長期間サポートされる安定版のインストーラーをダウンロードし、画面の指示に従ってインストールを完了させます。
※現在は、以下のように、「Install Node.js」と書かれています。


1.2 gemini-cliのインストール
以下のコマンドをコピーして、PowerShellに貼り付けて実行します。
これにより、gemini-cliがグローバルにインストールされます。
npm install -g @google/gemini-cli

1.3 gemini-cliの動作確認
新しく開いたPowerShellで以下のコマンドを実行し、モデルからの応答があれば設定は正常です。
gemini --help

1.4 APIキーの取得
1.5 APIキーを環境変数に設定
# "YOUR_API_KEY_HERE"の部分を、コピーしたご自身のAPIキーに置き換えてください
[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "YOUR_API_KEY_HERE", "User")
# 設定を有効にするため、PowerShellを一度再起動してください
APIキーの設定を確認するコマンド
echo $env:GEMINI_API_KEY
2. Gemini CLIの基本的な使い方
2.1. 対話モード(Interactive Mode)
# プロジェクトディレクトリに移動
cd my-project/
# 対話モードの起動
gemini
- gemini と入力するだけで即座に起動し、プロンプト(質問)を一行ずつ入力して対話を進める形式です。
- 入力した内容はその都度Geminiに送信され、応答がリアルタイムに表示されます。
- ファイル編集・コマンド実行などを伴う処理では、必ず確認プロンプト(例:「このファイルを編集してもよいですか?」)が表示されます。
- セッション中に Ctrl + Y を押すことで、YOLOモード(自動承認)のオン/オフを切り替えられます。
- 直前のやり取りのコンテキストを維持し続けるため、長期的なセッション設計や一連のタスク管理にも有効です。
- 「このシステムのアーキテクチャの主要な部分を説明して」
- 「GitHub issue #123の最初のドラフトを実装して」
- 「このコードベースを最新のJavaバージョンに移行する計画を立てて」
- 「このPython関数の単体テストをPytestで作って」
- 「現在のカレントディレクトリにあるファイルの一覧を表示して」
- 「Module1内のプロシージャーを一覧出力」




- 対話モードでは、作業ディレクトリ内のファイル(例:README.md, *.py)を自動的に読み取り対象として認識します。ただし、すべてのファイルを必ず読み込むわけではなく、状況によっては --all_files オプションが必要です。
- Geminiが判断してツール(例:シェルコマンド、Git、エディタなど)を呼び出そうとした場合、「○○を実行してもよいですか?」という確認が表示され、y/n 応答が求められます。
- CLIの標準出力の一部が長文になることがあるため、ターミナルのスクロール設定やログ保存機能を併用すると便利です。
2.2. YOLOモード(Auto-approval Mode)
gemini --yolo
- --yolo は 対話モードでのみ有効です。
- 通常の対話セッションでは、ツール呼び出し時に「pwdを実行してもよいですか?」のような確認が毎回表示されますが、YOLOモードではこれらがすべてスキップされます。
- 「YOLO(You Only Live Once)」の名前の通り、全自動で積極的に行動するスタイルです。
- 入力中に Ctrl + Y を押すことでも、YOLOモードのオン/オフを切り替え可能です(再起動は不要)。
- YOLOモードは「対話継続+確認スキップ」なので、完全自動化には向いていません(ユーザー入力を前提とするため)。
- 危険な操作(例:ファイル削除など)も確認なしで実行される可能性があるため、検証環境や開発用ディレクトリでの使用を推奨します。
自動化したい場合は、--yolo ではなく -b 単独を使用してください。
2.3. バッチ/ヘッドレスモード(Headless Mode)
CI/CDやスクリプトなどの自動化シナリオに適しています。
echo "コードの改善点を教えて" | gemini -b
- -b を指定すると、対話セッションなしで処理が即時実行されます。
- 入力は主に 標準入力(stdin) を介して渡します。リダイレクトやパイプとの併用が基本です。
- Geminiは応答を出力するだけで、質問の継続やユーザー入力の待機は行いません。
- CLI内部でGeminiが外部ツール(例:コマンド実行、ファイル読込)を使う必要がある場合、確認プロンプトが出ることもあり、その際は処理が停止する可能性があります。
- -b モードでは、標準入力がないとGeminiが即終了するため、必ず入力を与えてください。
- 実用上は「完全自動モード」として使える一方で、ツール実行時の確認待ちが発生すると自動化の途中でハングする可能性があります。
- この問題を避けるには、入力内容を「読み取りのみ」に限定する構文設計が推奨されます。
- -b モードで --yolo を併用しようとすると、現行バージョンではエラーになることがあります。
- 自動処理には -b 単独、対話補助には --yolo を使い分けてください。
2.4. 完全自動モード(Combined Mode)
- --yolo:対話モード中の確認プロンプトを自動的にスキップ(確認なしで実行)
- -b:非対話モード(標準入力などを用いたバッチ処理)
これらを同時に指定すれば、確認なし・非対話での完全自動処理が可能になりそうに思えます。
しかし、現時点のGemini CLI(v0.1.7)では --yolo と -b の併用は未対応、またはエラーになる挙動が確認されています。
そのため、以下のように -b 単独で使用する方法が、最も安定して自動化を実現できます。
# 質問文を標準入力で渡す
echo "このREADMEの改善点を提案して" | gemini -b
# Gitログの分析による提案生成
git log --oneline | gemini -b "コミット履歴から開発フェーズごとに分類したサマリーを作成して"
- --yolo は主に対話モード(gemini のみで起動)において使用される確認スキップ用オプションです。
- -b(非対話モード)はそもそもプロンプト確認を行わない前提のため、事実上、-b 単独で「完全自動化」は成立します。
- 今後のCLIアップデートで --yolo -b の併用が正式にサポートされる可能性があります。
自動化処理を行いたい場合は、-b の単独使用を推奨します。
2.5. 制限付き実行モード(-p)
このモードでは、セキュリティポリシーに基づき、Geminiが使用できるツールやコマンドが制限されます。
業務利用やCI環境など、不用意なファイル編集・コマンド実行を防ぎたい場面での使用に適しています。
gemini -p
- -p を指定すると、事前に定義された制限付きポリシーが有効になります。
- 実行可能なツール(例:ファイル読み取り、コード解析など)は限定され、書き込みや外部コマンドの実行はブロックされます。
- 安全性を重視する開発・運用環境(CI/CD、教育用途など)で、意図しない変更を防ぐ目的で使われます。
- 現在の実装では、ポリシーの切り替えやカスタマイズは内部的に行われており、CLI引数での詳細設定はできません(今後のアップデートで変更される可能性があります)。
- -p モードでは、明示的に「この操作はポリシーにより許可されていません」といった拒否メッセージが返されることがあります。
- モードの適用範囲や制限内容の詳細は今後のCLIバージョンで明示される可能性があるため、定期的な --help の確認をおすすめします。
Gemini CLI モード別比較表
モード | 起動方法 | 対話の有無 | 確認プロンプト | 主な用途 | 自動化適性 | 備考 |
2.1 対話モード | gemini | あり | あり | AIとの対話、コードレビューなど | ✖(手動中心) | 最も基本的なモード。 コンテキスト保持に優れる。 |
2.2 YOLOモード | gemini --yolo | あり | なし | 対話中のツール実行を全自動に | ✖(手動中心) | 対話モード拡張。 Ctrl+Yでも切り替え可。 |
2.3 バッチ/ヘッドレス | gemini -b | なし | 一部あり | スクリプト・CI用の非対話処理 | ✅(標準) | パイプ・stdin入力で実行。 確認待ちの可能性あり。 |
2.4 完全自動モード | ✖ gemini --yolo -b ※非対応 | なし | なし(想定) | CI/CD、完全自動化 | ✖(未サポート) | 現行バージョンではエラー発生。 仕様未定。 |
2.5 制限付き実行モード | gemini -p | あり/なし | 制限付き実行 | 教育・安全重視環境 | △(制限あり) | 書き込み・外部ツール制限下で実行。 |
3. パイプラインでの活用
Gemini CLI自体に「パイプラインモード」という専用機能は存在しませんが、CLIの実行モードと組み合わせることで、強力な自動化が可能になります。
確認プロンプトがなく、非対話で一気に処理を完結させられるため、CI/CDパイプラインやスクリプト自動化に最適です。
# 標準入力から質問を受け取る例
echo "都庁のある区は?" | gemini
# ファイル内容を分析し、提案を受ける例
cat README.md | gemini -b "このREADMEの改善点を提案して"
# Gitログを分析してスライド案を作成
git log --oneline | gemini --yolo "過去7日間のgit履歴を機能とチームメンバー別にグループ化したスライドデッキを作成"
使用例の画面サンプル

- Gemini CLIのv0.1.7時点では、--yolo と -b の同時使用は非対応で、エラーになります。
- 現実的には、-b(バッチモード)単独でパイプラインを使う方法が最も安定しています。
echo "都庁のある区は?" | gemini -b
- -b モードは非対話的ですが、ツール呼び出し時に確認プロンプトが表示される場合があるため、処理が途中で停止するリスクがあります。
そのため、完全自動化を目指す場合は、以下の対応が必要です。
- 入力プロンプトやタスクを「読み取り専用」「分析系」に限定し、ファイル編集や外部コマンドの実行を控える。
- -p(制限付きモード)と組み合わせて実行することで、危険な操作を防止する。
- Geminiのアップデートをこまめにチェックし、将来的に--yolo -b併用が正式サポートされれば移行を検討する。
モード | パイプライン対応 | 確認プロンプトの挙動 | 自動化適性 |
gemini --yolo -b | 想定される理想形 | 確認なし(非対話) | 最高。ただし現状は非対応 |
gemini -b | 実用的に最も安定 | 一部ツールで確認プロンプトが表示されることがある | 高い。ただし確認停止リスクあり |
gemini -p -b | 制限付き利用可 | 書き込み系ツールは制限される | 安全重視の自動化に適している |
4. Gemini CLI コマンド・オプション一覧
以下に、Gemini CLIの主なコマンドとオプションを種類別にまとめました。
種別 | コマンド/オプション | 説明 |
基本実行 | gemini | 基本の対話モードでGemini CLIを起動します。 |
npx https://github.com/google-gemini/gemini-cli | 一時的にGemini CLIを実行(インストール不要)。 | |
モード選択 | -y, --yolo | YOLOモードを有効にし、すべてのアクションを自動承認します(デフォルト: false)。 |
-b | バッチ/ヘッドレスモードで実行し、ユーザーとの対話なしで処理を進めます。 | |
-p | 制限付き実行モードで実行し、一部のコマンド/ツール実行を制限します。 | |
モデル指定 | -m, --model | 使用するAIモデルを指定します(デフォルト: "gemini-2.5-pro")。 |
プロンプト指定 | -p, --prompt | コマンドラインから直接プロンプトを指定します(標準入力がある場合、その入力に追加されます)。 |
--prompt-file | プロンプトをファイルから読み込みます。 | |
コンテキスト指定 | -a, --all_files | 作業ディレクトリ内のすべてのファイルをGeminiのコンテキストに含めます(デフォルト: false)。 |
--files | 特定のファイルをGeminiのコンテキストに明示的に含めます。 | |
--cwd | CLI実行時のカレントディレクトリを明示的に指定します。 | |
安全実行 | -s, --sandbox | サンドボックスモードで実行し、隔離された環境で安全にコードを実行できます。 |
--sandbox-image | サンドボックスで使用するDockerイメージのURIを指定します。 | |
デバッグ/情報 | -d, --debug | デバッグモードを有効にします(デフォルト: false)。 |
--show_memory_usage | ステータスバーにメモリ使用量を表示します(デフォルト: false)。 | |
-v, --version | Gemini CLIのバージョン番号を表示します。 | |
-h, --help | ヘルプメッセージを表示し、利用可能なコマンドとオプションを確認できます。 | |
その他 | --telemetry | テレメトリ(匿名利用データ収集)を有効にします(デフォルト: false)。 |
--telemetry-target | テレメトリの送信先("local" または "gcp")。 | |
--telemetry-otlp-endpoint | テレメトリのOTLPエンドポイントを設定します。 | |
--telemetry-log-prompts | テレメトリでユーザープロンプトのログ記録を有効/無効にします。 | |
-c, --checkpointing | ファイル編集時のチェックポイント機能を有効にし、変更の復元を可能にします(デフォルト: false)。 |
コマンド | 説明 |
/ | 利用可能なコマンドとヘルプを表示します。 |
/memory | メモリ関連のコマンドを表示します。 |
/memory show | 現在のメモリ状態を表示します。 |
/memory refresh | メモリをリフレッシュします。 |
Ctrl + Y | 対話中にYOLOモードのオン/オフを切り替えます。 |
Ctrl + C | 現在の処理を中断します。 |
! で始まるメッセージ | システムチャットメッセージとして内部操作に使用されます。 |
環境変数 | 説明 |
GEMINI_API_KEY | Gemini APIキーを設定します。 |
GEMINI_SANDBOX | サンドボックスモードを有効にします。 |
5. 注意事項
- Gemini CLIの利用にはNode.js 18以上が必要です。
- 初回実行時にGoogleアカウントでの認証が求められます。
- 個人アカウントの場合、APIリクエストには1分間60リクエスト、1日1000リクエストの制限があります。
- PowerShellスクリプト(.ps1ファイル)は「UTF-8(BOM 付き)」で作成する必要があります。
ご利用の際は、この点にご留意いただき、以下の公式GitHubリポジトリやnpmパッケージページで最新の情報をご確認ください。
Gemini CLI GitHubリポジトリ: https://github.com/google-gemini/gemini-cli
npmパッケージページ: https://www.npmjs.com/package/@google/gemini-cli
Gemini CLIは、開発から日常業務まで、様々なシナリオであなたの作業を効率化できる強力なツールです。
ぜひこれを機会に、ターミナルからのAI活用を始めてみてください。
同じテーマ「生成AI活用研究」の記事
生成AIパスポート試験 練習問題(四肢択一式)
Googleカレンダーの日本の祝日をGASとExcelで取得する ~APIキー不要、XML連携ガイド~
我思う、そこにAI在り:ひらめきを増幅する、AIと「考える」新しい形
Excel×スプレッドシート連携:HTTP GETで学ぶGAS API設計入門
AI時代のプログラミング再考:記述の自由と知の民主化
生成AIと脱Excelの時代:ブラックボックスと共に進む知的変革
AI時代の働き方革命:オンリーワン戦略 ― 属人化で搾取されない労働者に
不合理の砦|AIが計算を終えた場所から、人間の価値が始まる
Gemini CLIの徹底解説:AIをターミナルから使いこなす
「Gemini CLI」によるExcel自動化フレームワーク:実践ガイド
Gemini CLIとPowerShellでVBAerのAI活用を加速する実践ガイド
新着記事NEW ・・・新着記事一覧を見る
Gemini CLIの徹底解説:AIをターミナルから使いこなす|生成AI活用研究(2025-07-03)
Gemini CLIとPowerShellでVBAerのAI活用を加速する実践ガイド|生成AI活用研究(2025-07-02)
「Gemini CLI」によるExcel自動化フレームワーク:実践ガイド|生成AI活用研究(2025-07-01)
AI(Gemini)とエクセル数式対決 その3|生成AI活用研究(2025-06-24)
不合理の砦|AIが計算を終えた場所から、人間の価値が始まる|生成AI活用研究(2025-06-23)
生成AIはExcelの複雑な数式を書けるのか?|AIとの対話から学ぶ協業のリアル|生成AI活用研究(2025-06-22)
日時データから日付ごとの集計(UNIQUE,SUMIFS,GROUPBY)|エクセル雑感(2025-06-20)
AI時代の働き方革命:オンリーワン戦略 ― 属人化で搾取されない労働者に|生成AI活用研究(2025-06-20)
VBA開発の標準化を実現する共通プロンプトのすすめ|生成AI活用研究(2025-06-14)
生成AIと100本ノック 29本目:画像の挿入|生成AI活用研究(6月13日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.変数宣言のDimとデータ型|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.