VS Code を起動するたびに The extension 'GitHub Pull Requests' wants you to sign in again using GitHub. という通知が繰り返し出る——このループに悩まされているエンジニアは多い。結論から言うと、これは利用者側の設定ミスではなく GitHub 系拡張のトークン失効ハンドリングのバグ で、公式 issue でも認知されている挙動だ。本稿では症状の原理と、効果が高い順の回避策を整理する。
⚠️ 注記: 拡張側の修正で挙動が変わる可能性がある。下記はあくまで「再発したらその都度リセットする」対症療法。VS Code 本体・拡張ともに最新へ更新しておくのが前提。
Cmd + Q で完全終了 → 再サインインVS Code は GitHub の認証トークンを アカウント機能(Authentication Provider)で一元管理し、GitHub Pull Requests を含む各拡張がそれを共有する。このトークンが何らかの理由で無効化(失効・revoke・スコープ変更)されたとき、拡張側がその状態を正しく検知できず、古いトークンを掴んだまま「サインインし直してくれ」と通知を出し続ける。
ユーザが正しくサインインしていても、内部状態の不整合が解消されないため、再起動のたびに同じ通知が再発する——というのがループの正体だ。
最も確実で、まず試すべきはこれ。順番が重要。
Cmd + Q)「ウィンドウを閉じる」と「アプリを終了する」は別物。 ウィンドウを閉じるだけでは常駐プロセスが残り、内部状態がリセットされないので直らないことが多い。必ず
Cmd + Qまで行うこと。
会社用・個人用など複数の GitHub アカウントを使っている場合、VS Code が 意図しない側のアカウントのトークンを参照していることがある。
githubPullRequests.remotes の設定先リポジトリと、サインイン中アカウントの権限がズレていないかも併せて確認①でも再発する場合、ローカルに保存された認証情報そのものが壊れている可能性がある。macOS では VS Code の認証情報が キーチェーン(Keychain) に保存されているため、これを掃除する。
vscode や github と入力し、VS Code / GitHub 認証に関連する項目を探す※ キーチェーンの項目削除は、VS Code 以外のサービス情報まで巻き込むと厄介。VS Code 関連だと確証が持てる項目だけを消すこと。不安なら①②で粘るのが無難。
拡張のローカルキャッシュが壊れているケース。GitHub Pull Requests 拡張を アンインストール → VS Code 再起動 → 再インストール で直ることがある。settings.json は残るので、拡張の再導入だけで済む。
ブラウザ経由の OAuth フローがどうしても通らない場合(リダイレクトが詰まる、ネットワーク環境の都合など)、PAT を手動入力する経路がある。
repo など必要スコープを付けた Personal Access Token を発行常用するものではないが、OAuth が機能しない環境での退避策として覚えておくと安心。
繰り返すが、これは設定ミスではなく 拡張機能のトークン失効ハンドリングの問題で、公式 issue でもバグとして扱われている。上記はすべて対症療法であり、根本対応は拡張のアップデートを待つ形になる。VS Code 本体・拡張をこまめに更新しておけば、修正が入ったタイミングで自然に解消される可能性が高い。
突然出てきて作業を止められるとイラッとするが、原理が分かれば対処はシンプルだ。まずは落ち着いて 「サインアウト + Cmd + Q で完全終了 + 再サインイン」 を試すのがおすすめ。それでもダメなら、アカウント整理 → Keychain リセット → 拡張入れ直し → PAT 手動、と順に切り分けていけばよい。