Please set an Auth method in your <path>/settings.json
結論
認証方法がどこにも設定されていない状態。終了コード41で、接続を試す前に止まる。
確認した版
Gemini CLI v0.58.0
確認日
2026年9月3日
最終更新
2026年9月3日
根拠
実機で確認
エラー文字列
Please set an Auth method in your <path>/settings.json
⚠️ 標準エラーに出て、終了コードは 41 です。
Please set an Auth method in your C:\Users\<名前>\.gemini\settings.json or specify one of
the following environment variables before running: GEMINI_API_KEY,
GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA
何が起きているか
認証方法が1つも決まっていません。 キーが間違っているのではなく、どうやって認証するかを選んでいない状態です。
⭐ 接続を試す前に止まります。 ネットワークやモデル名は関係ありません。
選べる方法は3つ
| 環境変数 | 使う場面 |
|---|---|
GEMINI_API_KEY |
AI Studio のキーで使う。最も手軽 |
GOOGLE_GENAI_USE_VERTEXAI |
Google Cloud の Vertex AI 経由で使う |
GOOGLE_GENAI_USE_GCA |
Google アカウントでログインして使う |
⚠️ どれか1つを選べば足ります。 全部設定する必要はありません。
対話では出ないことがあります
対話モードなら起動時に選択画面が出ます。このメッセージが出るのは、選ぶ機会が無い場合です。
| 状況 | |
|---|---|
-p / --prompt を付けた |
明示的に非対話 |
| 標準出力が端末でない | パイプやリダイレクトも自動的に非対話 |
| CI・cron・スクリプト | 上に該当する |
🔴 手元では動くのに CI だけ落ちる、という形で出ます。手元には一度選んだ記録が残っているためです。
直し方
1. APIキーを使う(最も手軽)
Google AI Studio でキーを発行して設定します。
export GEMINI_API_KEY=あなたのキー
gemini --skip-trust -p "hello"
$env:GEMINI_API_KEY = "あなたのキー"
gemini --skip-trust -p "hello"
🔴 キーを設定しただけでは使えないことがあります。 そのプロジェクトで Generative Language API を有効にしてください(詳細)。
2. CI に置く場合
GitHub Actions
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
GEMINI_CLI_TRUST_WORKSPACE: "true"
⚠️ 信頼の設定も一緒に要ります。 片方だけでは別のエラーで止まります(詳細)。
🔴 キーをワークフローに直接書かないこと。 必ずシークレットを使ってください。
3. 設定ファイルに書く場合
~/.gemini/settings.json に書くこともできます。
⚠️ JSON を壊さないよう注意してください。 壊れていると終了コード 52 で止まります(詳細)。
⭐ キーそのものを設定ファイルに書かないほうが安全です。 リポジトリに入ったり、バックアップに残ったりします。環境変数を勧めます。
4. Vertex AI を使う場合
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT=あなたのプロジェクトID
export GOOGLE_CLOUD_LOCATION=us-central1
⚠️ 別途 gcloud auth application-default login などの資格情報が要ります。
5. 通ったか確かめる
gemini --skip-trust -p "hello"; echo "exit=$?"
⭐ 41 以外になれば、認証方法は選べています。 次のエラーが出たら、それは別の問題です。
終了コードの一覧(実測)
再発防止
- ⭐ 3つのうち1つを選ぶだけ。 迷ったら
GEMINI_API_KEY - CI では認証と信頼の両方を設定する。片方だけでは通らない
- キーは環境変数(CIではシークレット)に置く。設定ファイルに直接書かない
- 終了コード 41 を「認証未設定」として判別できるようにしておく