PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

VS Code で「GitHub Pull Requests がもう一度サインインを求めています」が出る — 原因と解消手順

VS Code を起動するたびに The extension 'GitHub Pull Requests' wants you to sign in again using GitHub. という通知が繰り返し出る——このループに悩まされているエンジニアは多い。結論から言うと、これは利用者側の設定ミスではなく GitHub 系拡張のトークン失効ハンドリングのバグ で、公式 issue でも認知されている挙動だ。本稿では症状の原理と、効果が高い順の回避策を整理する。

⚠️ 注記: 拡張側の修正で挙動が変わる可能性がある。下記はあくまで「再発したらその都度リセットする」対症療法。VS Code 本体・拡張ともに最新へ更新しておくのが前提。

TL;DR

原因: トークン失効の検知ミス

VS Code は GitHub の認証トークンを アカウント機能(Authentication Provider)で一元管理し、GitHub Pull Requests を含む各拡張がそれを共有する。このトークンが何らかの理由で無効化(失効・revoke・スコープ変更)されたとき、拡張側がその状態を正しく検知できず、古いトークンを掴んだまま「サインインし直してくれ」と通知を出し続ける。

ユーザが正しくサインインしていても、内部状態の不整合が解消されないため、再起動のたびに同じ通知が再発する——というのがループの正体だ。

回避策(効果が高い順)

① 公式の回避策: サインアウト → 完全終了 → 再サインイン

最も確実で、まず試すべきはこれ。​順番が重要

  1. VS Code 左下の アカウント(人型アイコン)​ をクリック
  2. サインイン中の GitHub アカウントにマウスを合わせ、​Sign Out(サインアウト)​ を選ぶ
  3. VS Code を 完全に終了する(macOS なら Cmd + Q
  4. 改めて VS Code を起動し、サインインし直す

​「ウィンドウを閉じる」と「アプリを終了する」は別物。​ ウィンドウを閉じるだけでは常駐プロセスが残り、内部状態がリセットされないので直らないことが多い。必ず Cmd + Q まで行うこと。

② 複数アカウントの混在を確認する

会社用・個人用など複数の GitHub アカウントを使っている場合、VS Code が 意図しない側のアカウントのトークンを参照していることがある。

③ ローカルの認証情報をリセットする(macOS 向け)

①でも再発する場合、ローカルに保存された認証情報そのものが壊れている可能性がある。macOS では VS Code の認証情報が キーチェーン(Keychain)​ に保存されているため、これを掃除する。

  1. キーチェーンアクセス アプリを開く
  2. 検索欄に vscodegithub と入力し、VS Code / GitHub 認証に関連する項目を探す
  3. VS Code 関連の認証項目を削除する
  4. VS Code を再起動してサインインし直す

※ キーチェーンの項目削除は、VS Code 以外のサービス情報まで巻き込むと厄介。​VS Code 関連だと確証が持てる項目だけを消すこと。不安なら①②で粘るのが無難。

④ 拡張機能を入れ直す

拡張のローカルキャッシュが壊れているケース。GitHub Pull Requests 拡張を アンインストール → VS Code 再起動 → 再インストール で直ることがある。settings.json は残るので、拡張の再導入だけで済む。

⑤ 最終手段: Personal Access Token を手動で渡す

ブラウザ経由の OAuth フローがどうしても通らない場合(リダイレクトが詰まる、ネットワーク環境の都合など)、​PAT を手動入力する経路がある。

常用するものではないが、OAuth が機能しない環境での退避策として覚えておくと安心。

恒久対応は拡張のアップデート待ち

繰り返すが、これは設定ミスではなく 拡張機能のトークン失効ハンドリングの問題で、公式 issue でもバグとして扱われている。上記はすべて対症療法であり、根本対応は拡張のアップデートを待つ形になる。VS Code 本体・拡張をこまめに更新しておけば、修正が入ったタイミングで自然に解消される可能性が高い。

まとめ

突然出てきて作業を止められるとイラッとするが、原理が分かれば対処はシンプルだ。まずは落ち着いて ​「サインアウト + Cmd + Q で完全終了 + 再サインイン」​ を試すのがおすすめ。それでもダメなら、アカウント整理 → Keychain リセット → 拡張入れ直し → PAT 手動、と順に切り分けていけばよい。

同じ著者の記事