GitHub Copilot CLI のエラー

Error: Authentication failed (Request ID: <id>)

結論

Copilot 側が資格情報を受け付けなかった状態。GitHub にログインできていても、Copilot の権限が無いと出る。

確認した版 GitHub Copilot CLI v1.0.80
確認日 2026年8月22日
最終更新 2026年8月22日
根拠 実機で確認

エラー文字列

GitHub Copilot CLI
Error: Authentication failed (Request ID: <id>)

⚠️ 標準エラーに出て、終了コードは 1 です。

Error: Authentication failed (Request ID: 792E:3218B:1F4D18:25A3DF:6A88E20F)

Your GitHub token may be invalid, expired, or lacking the required permissions.

To resolve this, try the following:
  • Start 'copilot' and run the '/login' command to re-authenticate
  • If using a Fine-Grained PAT, ensure it has the 'Copilot Requests' permission enabled
  • If using COPILOT_GITHUB_TOKEN, GH_TOKEN or GITHUB_TOKEN environment variable, verify the token is valid and not expired
  • Run 'gh auth status' to check your current authentication status

何が起きているか

Copilot 側が資格情報を受け付けませんでした。

🔴 似た文面がもう1つある。区別が要る

Copilot CLI の認証エラーには2種類あり、見るべき場所が違います。v1.0.80 で両方を実測して確かめました。

出るもの どこで弾かれたか 疑うもの
Error: Authentication token found but could not be validated. GitHub のユーザー照会401 Bad credentials トークンの
Error: Authentication failed (Request ID: ...) Copilot のサービス トークンの権限、または資格情報が渡っていない

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

⚠️ 前者は Authentication token found but could not be validated. を見てください。

よくある原因

原因 説明
ファイングレインドPATに Copilot の権限が無い メッセージが名指ししている Copilot Requests が有効になっていない
資格情報がどこにも無い 環境変数も gh のログインも無い状態。v1.0.80 で実測すると、このメッセージが出ます
トークンの期限切れ 値としては正しいが失効している
Copilot が有効になっていない アカウントまたは組織で契約されていない

🔴 GitHub にログインできることと、Copilot を使えることは別です。 gh auth status が正常でも、そのトークンに Copilot の権限が無ければここで止まります。

直し方

1. まず現在の認証状態を見る

gh auth status

⚠️ ここが正常でも安心できません。 GitHub にログインできているだけで、Copilot の権限があるかは分かりません。

2. どの資格情報が使われるか確認する

上から順に見られます。

優先順 環境変数
1 COPILOT_GITHUB_TOKEN
2 GH_TOKEN
3 GITHUB_TOKEN
4 gh auth login で保存された資格情報

⚠️ 値そのものを画面に出さないこと。

Windows(PowerShell)

foreach ($n in 'COPILOT_GITHUB_TOKEN','GH_TOKEN','GITHUB_TOKEN') {
  $v = [Environment]::GetEnvironmentVariable($n)
  "{0,-22} {1}" -f $n, $(if ($v) { "設定あり({0}文字)" -f $v.Length } else { "なし" })
}

macOS / Linux

for n in COPILOT_GITHUB_TOKEN GH_TOKEN GITHUB_TOKEN; do
  v=$(printenv "$n")
  printf '%-22s %s\n' "$n" "${v:+設定あり(${#v}文字)}${v:-なし}"
done

すべて「なし」で gh にもログインしていなければ、資格情報が無いのが原因です。

3. ファイングレインドPATなら Copilot の権限を確認する

メッセージが名指ししているのはここです。

GitHub の Settings → Developer settings → Personal access tokens → Fine-grained tokens で対象のトークンを開き、Copilot Requests が有効か確認します。

🔴 後から権限を足した場合、トークンを作り直す必要があることがあります。 権限を変えても直らないときは、新しく発行してください。

⚠️ クラシックトークン(ghp_)はそもそも使えません。その場合は別のメッセージが出ます(詳細)。

4. トークンをやめて gh の認証を使う

手元の端末ならこちらが簡単です。

unset COPILOT_GITHUB_TOKEN GH_TOKEN GITHUB_TOKEN
gh auth login
Remove-Item Env:COPILOT_GITHUB_TOKEN, Env:GH_TOKEN, Env:GITHUB_TOKEN -ErrorAction SilentlyContinue
gh auth login

⚠️ 環境変数が残っていると gh でログインし直しても効きません。 環境変数のほうが優先されます。

5. 対話セッションからログインし直す

copilot

起動したら次を打ちます。

/login

6. 契約そのものを確認する

個人または組織で Copilot が有効になっていないと、権限を整えても通りません。組織のアカウントで使っている場合は、管理者に割り当てを確認してください。

⚠️ 組織のポリシーで機能が制限されていると、別の警告が併記されることがあります。

! Third-party MCP servers are disabled by your organization's Copilot policy.

再発防止

  • 🔴 Request ID 付きなら、値より権限を疑う
  • ファイングレインドPATを作るときは Copilot Requests を必ず有効にする
  • トークンは環境変数と gh の両方に散らばりやすい。片方に決める
  • CI では期限のあるトークンを使い、失効時に気づける形にしておく

この手順で直りませんでしたか?

環境を添えて報告いただければ、追加の原因を検証してこのページに反映します。

エラーを報告する