T-CREATOR

GitHub Copilot が無反応・遅延する時の診断手順:拡張ログ・ネットワーク・プロキシ

GitHub Copilot が無反応・遅延する時の診断手順:拡張ログ・ネットワーク・プロキシ

「GitHub Copilot が突然動かなくなった…」そんな経験はありませんか?コーディング中に頼りにしている AI アシスタントが無反応になると、作業効率が大きく下がってしまいますよね。

本記事では、GitHub Copilot が無反応になったり、補完候補の表示が遅延したりする問題に対して、拡張機能のログ確認、ネットワーク設定、プロキシ環境での診断手順を段階的にご紹介します。問題の原因を特定し、スムーズに解決できるよう、実践的な手順とともに解説していきましょう。

背景

GitHub Copilot の仕組み

GitHub Copilot は、OpenAI Codex をベースにした AI ペアプログラマーです。VS Code や JetBrains IDE などのエディタ拡張機能として動作し、コードの文脈を解析してリアルタイムで補完候補を提案してくれます。

この仕組みを理解すると、トラブルシューティングの方向性が見えてきますね。

mermaidflowchart TB
  editor["エディタ<br/>(VS Code など)"] -->|コード文脈送信| ext["Copilot 拡張機能"]
  ext -->|HTTPS リクエスト| proxy["プロキシサーバー<br/>(企業環境の場合)"]
  proxy -->|転送| api["GitHub Copilot API<br/>(クラウド)"]
  api -->|AI 推論| codex["OpenAI Codex"]
  codex -->|補完候補| api
  api -->|HTTPS レスポンス| proxy
  proxy -->|転送| ext
  ext -->|候補表示| editor

図の要点

  • エディタから拡張機能を経由して、コード文脈が GitHub の API サーバーへ送信されます
  • 企業環境ではプロキシサーバーを経由するため、ネットワーク設定が重要です
  • AI 推論結果が逆ルートで返却され、エディタに補完候補が表示される仕組みです

動作に必要な条件

GitHub Copilot が正常に動作するには、以下の条件が揃っている必要があります。

#条件詳細
1有効なサブスクリプションGitHub Copilot Individual または Business ライセンス
2安定したインターネット接続GitHub API サーバーとの通信が可能であること
3正しい認証状態GitHub アカウントでのログインが完了していること
4適切なネットワーク設定ファイアウォール、プロキシの設定が正しいこと
5最新の拡張機能VS Code や拡張機能のバージョンが最新であること

これらの条件のどれか一つでも満たされていないと、無反応や遅延といった問題が発生する可能性があるのです。

課題

よくある症状とその原因

GitHub Copilot のトラブルは、いくつかのパターンに分類できます。それぞれの症状には異なる原因が潜んでいることが多いですね。

mermaidflowchart LR
  problem["GitHub Copilot<br/>の問題"] --> symptom1["完全に無反応"]
  problem --> symptom2["候補表示が遅い"]
  problem --> symptom3["断続的に動作"]

  symptom1 --> cause1a["認証エラー"]
  symptom1 --> cause1b["拡張機能の不具合"]
  symptom1 --> cause1c["ネットワーク遮断"]

  symptom2 --> cause2a["プロキシ遅延"]
  symptom2 --> cause2b["API レート制限"]
  symptom2 --> cause2c["ネットワーク帯域不足"]

  symptom3 --> cause3a["証明書エラー"]
  symptom3 --> cause3b["DNS 解決失敗"]
  symptom3 --> cause3c["タイムアウト設定"]

図で理解できる要点

  • 「完全に無反応」は認証やネットワーク遮断が主な原因です
  • 「遅延」はプロキシやレート制限による通信の遅さが影響します
  • 「断続的な動作」は証明書や DNS など、環境依存の問題が多いです

企業環境特有の問題

特に企業環境では、セキュリティポリシーによる制約が Copilot の動作に影響を与えることがあります。

#問題点影響
1プロキシサーバー経由の通信認証情報の設定ミスでリクエストが失敗する
2SSL/TLS インスペクション自己署名証明書による証明書エラーが発生する
3ファイアウォールルール特定のドメインやポートがブロックされる
4ネットワーク帯域制限大きなコード文脈の送信に時間がかかる

このような環境では、単純な設定ミスだけでなく、インフラ側の制約も考慮する必要があるのです。

診断の難しさ

問題の原因を特定するには、複数のレイヤーを確認する必要があります。

  • アプリケーション層:拡張機能のログ、認証状態
  • ネットワーク層:プロキシ設定、DNS 解決、証明書検証
  • インフラ層:ファイアウォールルール、帯域制限

どこに問題があるのかを絞り込むための、体系的な診断手順が求められますね。

解決策

診断の基本フロー

GitHub Copilot の問題を解決するには、段階的なアプローチが効果的です。以下のフローに沿って診断を進めることで、原因を効率的に特定できるでしょう。

mermaidflowchart TD
  start["Copilot が動作しない"] --> step1["拡張機能ログを確認"]
  step1 --> check1{"エラーメッセージ<br/>あり?"}

  check1 -->|Yes| step2a["エラー内容を分析"]
  check1 -->|No| step2b["ネットワーク診断へ"]

  step2a --> check2{"認証エラー?"}
  check2 -->|Yes| fix1["再ログイン実行"]
  check2 -->|No| step3["ネットワーク診断"]

  step2b --> step3
  step3 --> check3{"プロキシ環境?"}

  check3 -->|Yes| step4a["プロキシ設定確認"]
  check3 -->|No| step4b["直接接続確認"]

  step4a --> check4{"証明書エラー?"}
  check4 -->|Yes| fix2["証明書設定調整"]
  check4 -->|No| step5["詳細診断"]

  step4b --> step5
  step5 --> fix3["問題解決または<br/>サポート問い合わせ"]

診断フローの要点

  • まず拡張機能のログでエラーの有無を確認します
  • 認証エラーなら再ログインで解決することが多いです
  • プロキシ環境の場合は証明書設定が重要なポイントになります

診断ツールの準備

診断を始める前に、以下のツールと情報を準備しておくとスムーズですね。

#ツール・情報用途
1VS Code 出力パネル拡張機能のログ確認
2ブラウザ開発者ツールネットワークリクエストの確認
3curl または wgetコマンドラインでの接続テスト
4プロキシサーバー情報企業環境での設定確認
5証明書ファイルSSL/TLS インスペクション環境用

これらを手元に用意してから診断を始めることで、効率的にトラブルシューティングを進められます。

具体例

ステップ 1:拡張機能ログの確認

まずは VS Code の出力パネルから、GitHub Copilot のログを確認しましょう。ここにエラーメッセージが表示されていれば、問題の原因を特定する大きなヒントになります。

VS Code で出力パネルを開く

以下の手順で Copilot のログにアクセスできます。

typescript// VS Code のコマンドパレット操作手順
// 1. Cmd+Shift+P (Mac) または Ctrl+Shift+P (Windows) でコマンドパレットを開く
// 2. "Output: Show Output" を入力して選択
// 3. 右上のドロップダウンから "GitHub Copilot" を選択

実際の操作は以下のようになります。

  1. コマンドパレットを起動
  2. 「出力を表示」と入力
  3. ドロップダウンリストから「GitHub Copilot」を選択

すると、リアルタイムでログが表示されるようになりますよ。

ログの読み方と重要なエラーコード

ログには様々な情報が記録されますが、特に注目すべきはエラーレベルのメッセージです。

plaintext[Error  - 10:30:45 AM] Request failed: 401 Unauthorized
[Error  - 10:30:46 AM] Authentication failed. Please sign in to GitHub.

エラーコード401 Unauthorized

エラーメッセージAuthentication failed. Please sign in to GitHub.

発生条件:GitHub アカウントの認証トークンが期限切れまたは無効になっている

解決方法

  1. VS Code のコマンドパレットを開く
  2. 「GitHub Copilot: Sign Out」を実行
  3. 「GitHub Copilot: Sign In」を実行して再度ログイン
  4. ブラウザで GitHub 認証を完了する

認証エラーは最もよく見られる問題の一つですが、再ログインで簡単に解決できることが多いですね。

ネットワークエラーの診断

ネットワーク関連のエラーは、以下のようなメッセージで表示されます。

plaintext[Error  - 11:15:22 AM] Request failed: ECONNREFUSED
[Error  - 11:15:22 AM] Failed to connect to api.github.com:443

エラーコードECONNREFUSED

エラーメッセージFailed to connect to api.github.com:443

発生条件:ファイアウォールまたはプロキシがリクエストをブロックしている

解決方法

  1. ネットワーク接続を確認する
  2. プロキシ設定を確認する(次のステップで詳細解説)
  3. ファイアウォール設定で以下のドメインを許可する
plaintext# GitHub Copilot が接続する主要なドメイン
api.github.com
*.githubcopilot.com
copilot-proxy.githubusercontent.com

これらのドメインへのアクセスが許可されているか、IT 部門に確認することをおすすめします。

ステップ 2:ネットワーク接続の診断

ログでネットワークエラーが確認できた場合、次は実際の接続状態を確認しましょう。

基本的な接続テスト

コマンドラインから GitHub API への接続をテストします。

bash# GitHub API への基本的な接続テスト
curl -I https://api.github.com

正常な場合は以下のようなレスポンスが返ってきます。

plaintextHTTP/2 200
server: GitHub.com
date: Sat, 01 Nov 2025 02:30:45 GMT
content-type: application/json; charset=utf-8

HTTP ステータス 200 が返ってくれば、基本的な接続は問題ありません。

タイムアウトエラーの診断

もし接続がタイムアウトする場合は、以下のようなエラーが表示されます。

plaintextcurl: (28) Failed to connect to api.github.com port 443: Connection timed out

エラーコードcurl: (28)(接続タイムアウト)

エラーメッセージConnection timed out

発生条件

  • ファイアウォールが HTTPS 通信をブロックしている
  • プロキシ設定が正しくない
  • DNS 解決に失敗している

解決方法

  1. DNS 解決を確認する
bash# DNS 解決の確認
nslookup api.github.com

正常な場合:

plaintextServer:  8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name:    api.github.com
Address: 140.82.121.6

DNS が解決できない場合は、ネットワーク管理者に相談するか、DNS サーバー設定を確認しましょう。

ステップ 3:プロキシ環境での診断

企業環境で最も複雑なのがプロキシ設定です。ここでは段階的に設定を確認していきます。

VS Code のプロキシ設定確認

VS Code の設定ファイル(settings.json)でプロキシが正しく設定されているか確認します。

json// settings.json でのプロキシ設定確認
{
  // HTTP プロキシの設定
  "http.proxy": "http://proxy.company.com:8080",

  // プロキシ認証が必要な場合
  "http.proxyAuthorization": "Basic base64encodedcredentials",

  // プロキシ経由しないドメインの指定
  "http.noProxy": [
    "localhost",
    "127.0.0.1",
    ".company.local"
  ]
}

プロキシサーバーのアドレスとポート番号は、IT 部門から提供された情報と一致しているか確認してください。

プロキシ認証情報の設定

プロキシサーバーで認証が必要な場合、認証情報を Base64 エンコードして設定する必要があります。

bash# 認証情報を Base64 エンコードする(Mac/Linux)
echo -n "username:password" | base64

出力された文字列を http.proxyAuthorization に設定します。

json{
  "http.proxyAuthorization": "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
}

注意:パスワードを平文で保存することになるため、セキュリティポリシーに従って適切に管理してくださいね。

プロキシ経由での接続テスト

設定が正しいか、curl コマンドでテストします。

bash# プロキシ経由で GitHub API に接続
curl -x http://proxy.company.com:8080 \
     -U username:password \
     -I https://api.github.com

認証情報が正しければ、HTTP 200 が返ってくるはずです。

plaintextHTTP/2 200
server: GitHub.com

もしプロキシ認証エラーが発生する場合:

plaintextHTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="Corporate Proxy"

エラーコードHTTP 407 Proxy Authentication Required

エラーメッセージProxy Authentication Required

発生条件:プロキシサーバーの認証情報が正しくない

解決方法

  1. ユーザー名とパスワードを再確認する
  2. Active Directory のパスワードが変更されていないか確認する
  3. プロキシサーバーの管理者に認証方式を確認する(Basic, NTLM, Kerberos など)

ステップ 4:SSL/TLS 証明書の問題診断

企業環境では、セキュリティのために SSL/TLS インスペクションを実施していることがあります。この場合、自己署名証明書による証明書エラーが発生する可能性があります。

証明書エラーの確認

ログに以下のようなエラーが表示される場合、証明書の問題が疑われます。

plaintext[Error  - 14:20:15 PM] Request failed: UNABLE_TO_VERIFY_LEAF_SIGNATURE
[Error  - 14:20:15 PM] certificate verify failed

エラーコードUNABLE_TO_VERIFY_LEAF_SIGNATURE

エラーメッセージcertificate verify failed

発生条件

  • 企業のプロキシが SSL/TLS インスペクションを実施している
  • 自己署名証明書が信頼されていない
  • 証明書チェーンが正しく構築されていない

解決方法

企業の証明書を VS Code に追加する必要があります。

企業証明書の取得と設定

まず、IT 部門から企業のルート証明書(通常は .crt または .pem ファイル)を取得します。

json// settings.json での証明書設定
{
  // 企業のルート証明書を指定
  "http.systemCertificates": true,

  // カスタム証明書のパスを指定(必要な場合)
  "http.proxy": "http://proxy.company.com:8080",
  "http.proxyStrictSSL": true
}

証明書ファイルを環境変数で指定する方法もあります。

bash# 環境変数で証明書を指定(Mac/Linux)
export NODE_EXTRA_CA_CERTS="/path/to/corporate-root-ca.crt"

Windows の場合:

powershell# 環境変数で証明書を指定(Windows PowerShell)
$env:NODE_EXTRA_CA_CERTS="C:\path\to\corporate-root-ca.crt"

VS Code を再起動すると、新しい証明書設定が反映されます。

証明書検証を一時的に無効化する(非推奨)

セキュリティリスクがあるため、本番環境では推奨されませんが、診断目的で一時的に証明書検証を無効化することもできます。

json// 証明書検証を無効化(診断目的のみ)
{
  "http.proxyStrictSSL": false
}

この設定で問題が解決すれば、証明書の問題であることが確認できます。ただし、必ず適切な証明書を設定して proxyStrictSSLtrue に戻してくださいね。

ステップ 5:詳細ログの有効化

より詳細な診断情報が必要な場合、VS Code の拡張機能デバッグモードを有効にします。

デバッグログの有効化

設定ファイルでログレベルを変更します。

json// settings.json でデバッグログを有効化
{
  // GitHub Copilot のログレベルを debug に設定
  "github.copilot.advanced": {
    "debug.overrideEngine": "codex",
    "debug.testOverrideProxyUrl": "",
    "debug.overrideProxyUrl": "",
    "length": 500
  }
}

VS Code を再起動すると、より詳細なログが出力されるようになります。

ネットワークトラフィックの監視

より詳細なネットワーク診断には、パケットキャプチャツールが有効です。

bash# Mac での tcpdump 実行例(要管理者権限)
sudo tcpdump -i en0 -n host api.github.com

このコマンドで、GitHub API への実際のネットワークトラフィックを確認できます。

plaintext# 正常な通信の例
15:30:45.123456 IP 192.168.1.100.54321 > 140.82.121.6.443: Flags [S], seq 123456789
15:30:45.234567 IP 140.82.121.6.443 > 192.168.1.100.54321: Flags [S.], seq 987654321

パケットが送信されているのに応答がない場合は、ネットワーク経路のどこかでブロックされている可能性が高いですね。

ステップ 6:接続タイムアウトの調整

ネットワークが遅い環境では、タイムアウト値を調整することで改善することがあります。

タイムアウト設定の変更

json// settings.json でタイムアウトを調整
{
  // HTTP リクエストのタイムアウト(ミリ秒)
  "http.timeout": 30000,

  // GitHub Copilot の補完タイムアウト
  "github.copilot.advanced": {
    "timeout": 10000
  }
}

デフォルトのタイムアウトは環境によって短すぎる場合があります。特にプロキシ経由の場合は、30 秒程度に延長することをおすすめします。

ステップ 7:拡張機能の再インストール

設定を全て確認しても問題が解決しない場合、拡張機能自体に問題がある可能性があります。

完全な再インストール手順

以下の手順で、拡張機能をクリーンインストールします。

  1. 現在の拡張機能をアンインストール
typescript// VS Code コマンドパレットから実行
// 1. Cmd+Shift+P でコマンドパレットを開く
// 2. "Extensions: Show Installed Extensions" を選択
// 3. "GitHub Copilot" を右クリック
// 4. "Uninstall" を選択
  1. VS Code を完全に終了
bash# Mac/Linux でのプロセス確認
ps aux | grep "Visual Studio Code"

# プロセスが残っている場合は強制終了
killall "Visual Studio Code"
  1. 拡張機能のキャッシュを削除
bash# Mac の場合
rm -rf ~/Library/Application\ Support/Code/User/workspaceStorage/*
rm -rf ~/.vscode/extensions/github.copilot-*

# Linux の場合
rm -rf ~/.config/Code/User/workspaceStorage/*
rm -rf ~/.vscode/extensions/github.copilot-*

Windows の場合:

powershell# Windows PowerShell で実行
Remove-Item -Recurse -Force "$env:APPDATA\Code\User\workspaceStorage\*"
Remove-Item -Recurse -Force "$env:USERPROFILE\.vscode\extensions\github.copilot-*"
  1. VS Code を再起動して拡張機能を再インストール
typescript// 再インストール手順
// 1. VS Code を起動
// 2. 拡張機能パネルを開く(Cmd+Shift+X)
// 3. "GitHub Copilot" を検索
// 4. "Install" をクリック
// 5. GitHub アカウントでログイン

再インストール後は、必ず再起動してから動作を確認してくださいね。

トラブルシューティングチェックリスト

最後に、診断手順を一覧にまとめました。問題が発生したときは、このチェックリストに沿って確認していくとスムーズです。

#確認項目確認方法正常な状態
1サブスクリプションGitHub アカウント設定アクティブなライセンスがある
2認証状態VS Code のアカウント表示GitHub にログイン済み
3拡張機能のバージョン拡張機能パネル最新版がインストール済み
4ログのエラー出力パネルエラーメッセージがない
5API 接続curl コマンドHTTP 200 が返る
6DNS 解決nslookup コマンドIP アドレスが返る
7プロキシ設定settings.json正しいアドレスとポート
8証明書検証curl でのテストSSL エラーがない
9ファイアウォールIT 部門に確認必要なドメインが許可済み
10タイムアウト設定settings.json適切な値(30000ms など)

まとめ

GitHub Copilot が無反応になったり遅延したりする問題は、主に認証、ネットワーク、プロキシ設定の 3 つの領域に原因があります。

本記事でご紹介した診断手順を順番に実施することで、多くの問題を解決できるでしょう。

重要なポイント

  • 拡張機能のログ確認から始めることで、問題の方向性を絞り込めます
  • プロキシ環境では証明書設定が最も重要な要素になります
  • 段階的な診断により、原因を効率的に特定できます
  • 環境変数や設定ファイルの確認を怠らないことが大切です

それでも解決しない場合は、ログファイルを添付して GitHub Copilot のサポートチームに問い合わせることをおすすめします。VS Code の出力パネルからログをコピーして、具体的な症状とともに報告すると、迅速なサポートが受けられますよ。

快適な AI ペアプログラミング環境を取り戻して、効率的な開発を楽しんでくださいね。

関連リンク