AIコーディングツールの認証エラーを見分ける

最終更新: 2026年9月3日 / 実機で確認

4つのツールは、いずれも「認証に失敗した」と言います。 ですが文言が違い、弾かれた場所も違います。 同じ直し方は使えません。

このページは見分けるためのものです。 直し方は各ページに書いてあります。手元の文言に一致するものを開いてください。

文言から探す

🔴 似た文言でも、弾かれた場所が違う

ここを取り違えると、直らないものを直そうとします。 とくに GitHub Copilot CLI の2つは紛らわしい形です。

文言どこで弾かれたか疑うもの
token found but could not be validated GitHub のユーザー照会(401 Bad credentials トークンの
Authentication failed (Request ID: ...) Copilot のサービス トークンの権限Copilot Requests
Classic Personal Access Tokens (ghp_) 送る前(形式で判定) トークンの種類

Request ID が付いているのは2番目だけです。 付いていたら、値そのものより権限を疑ってください。

⭐ Gemini CLI は終了コードで切り分けられる

v0.58.0 で実測しました。用途ごとに終了コードが分かれています。 CI ではこれで分岐できます。

55 が出ている間、他の原因はすべて隠れます。 存在しないモデル名を指定しても、無効なキーを渡しても、 表示されるのは信頼のメッセージだけです。順番を逆にすると、 直っていないのに直したつもりになります。

4ツールに共通する見落とし

見落とし説明
環境変数が優先される ログインし直しても、古い環境変数が残っているとそちらが使われ続けます。「直したのに直らない」の最多の正体です
手元では動くのに CI だけ落ちる 対話モードには一度答えた記録が残ります。CI にはありません。パイプやリダイレクトも自動的に非対話になります
ログインできる ≠ 使える GitHub や Google にログインできても、その資格情報にそのサービスの権限が無いことがあります
設定ファイルが黙って捨てられる 非対話では、壊れた設定が警告なしに無視されることがあります(Claude Code で実測)

ツール別の一覧