0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub CodespacesでGemini CLIのOAuth 2.0認証が通らなくて困った

Last updated at Posted at 2025-07-16

2025‑07‑16 時点 / Gemini CLI 0.1.12 以上を前提


TL;DR

  • Codespaces では localhost リダイレクトが CLI に届かず OAuth が失敗
  • API キー認証 (export GEMINI_API_KEY=...)だと余計なお金がかかる
  • v0.1.12 以降なら NO_BROWSER=trueヘッドレス OAuth が使える
  • ポートフォワーディングでも回避できるが毎回手動なので非推奨

症状

$ gemini auth
Waiting for authentication...
  1. 指示通りブラウザで Google ログイン → localhost:xxxxx/oauth2callback へリダイレクト
  2. ブラウザは This site can’t be reached、ターミナルは固まったまま

原因

Codespaces はリモートコンテナ。ブラウザがアクセスする localhost自分の PC、CLI が待機するのは コンテナ内 :xxxxx。したがって OAuth コールバックを受信できない。


解決策

1️⃣ Gemini API キー を使う(最速)

# Google AI Studio でキー発行
export GEMINI_API_KEY="AIza...Fg"   # ~/.bashrc などに追加
source ~/.bashrc

# これだけで認証完了
 gemini
✅ 長所 ⚠️ 短所
1 行で完了/ブラウザ不要 無料枠は 1 日 100 リクエスト

注意: プロジェクトに .env があると CLI がそちらを優先する既知バグ (#2493)。同じ変数を .env にも書くか、ファイル名を変えて回避。


2️⃣ ヘッドレス OAuth(v0.1.12+)

npm i -g @google/gemini-cli@latest  # まずアップデート
export NO_BROWSER=true              # ブラウザ自動起動を抑止

gemini                              # 1 回目:設定ファイル生成 → 終了指示
gemini                              # 2 回目:URL+CODE を出力
# ブラウザで URL を開く → CODE をコピー
# ターミナルに貼り付け → 認証完了

追加オプション:

変数 役割
GEMINI_DEFAULT_AUTH_TYPE=oauth-personal API キーより OAuth を優先

3️⃣ ポートフォワーディングで強行突破(非推奨)

  1. gemini auth 実行中に Ports ビューでランダムポート (例 32993) を public に変更
  2. Google ログイン後、ブラウザ URL http://localhost:32993/...localhost
    https://32993-<codespace-id>.githubpreview.dev に置換
  3. Enter → CLI がコールバックを受信、認証完了

毎回ポートが変わり手間。緊急用。


認証方式比較

API キー ヘッドレス OAuth ポート転送
設定時間 ◎ 数秒 ○ 1–2 分 △ 数分
無料枠/上限 100 req/day 契約プラン依存 契約プラン依存
再認証の頻度 なし 30 日ごと 30 日ごと
手間 最小

まとめ

  • 試すだけなら API キー が最速
  • 本格利用なら ヘッドレス OAuth (v0.1.12+)
  • ポート転送は最後の手段として覚えておく

参考リンク


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?