- Дата публикации
Copilot в VS Code застрял на «Sign in to GitHub.com»: как починить без переустановки редактора
Что нового
GitHub Copilot и Copilot Chat в VS Code обрели один важный «апдейт», который появился не в релиз-нотах, а в опыте пользователей: стало понятно, из‑за чего Copilot чаще всего ломается и как его чинить без тотальной переустановки VS Code.
Сообщество на GitHub разобрало типичный сценарий:
- Copilot зависает на экране «Sign in to GitHub.com» и не уходит дальше.
- В логах Copilot и Copilot Chat появляется ошибка:
Invalid copilot token: missing token: 403LanguageModel/Embeddings are not available without auth
- У части пользователей Copilot работает локально, но полностью отваливается в WSL, SSH и devcontainer.
- Проблема воспроизводится и у платных подписчиков Copilot Pro, и у тех, кто впервые ставит расширение.
Из обсуждения родился набор конкретных рабочих рецептов:
-
Удаление «ломающего» блока настроек в
settings.json:"github.copilot.advanced": { "authProvider": "github-enterprise" }или
"github.copilot.advanced": { "authProvider": "minimal" } -
Проверка и включение встроенного расширения GitHub Authentication (
@builtin github authentication). -
Полная очистка авторизации Copilot: выход из GitHub в VS Code, удаление кеша токенов, ревок авторизации Copilot на GitHub.
-
Исправление DNS и IPv6 в WSL/SSH, чтобы Copilot мог достучаться до
api.github.comи доменов*.githubcopilot.com. -
У части пользователей всё решилось простым обновлением расширений GitHub Copilot и GitHub Copilot Chat до свежей версии.
Как это работает
Где ломается авторизация
Copilot в VS Code опирается сразу на несколько уровней авторизации и сети:
-
OAuth через GitHub
VS Code открывает браузер, вы логинитесь на GitHub и выдаёте доступ для Copilot. В ответ GitHub возвращает токен с нужными правами:read:user,repo,user:email,workflow,copilot. -
Встроенный провайдер GitHub Authentication
В VS Code есть встроенное расширениеGitHub Authentication(помечено как@builtin). Оно хранит и обновляет сессии GitHub. Если этот модуль отключён, Copilot не может получить токен и падает сmissing token: 403. -
Локальный кеш токенов Copilot
Copilot создаёт локальные файлы и папки (.github-copilot,globalStorage/github.copilot*), где хранит служебные токены. Если кеш бьётся или устаревает, расширение зацикливается на «Sign in to GitHub.com». -
Сетевой слой в локальной среде, WSL или SSH
В WSL и SSH Copilot работает через удалённый сервер VS Code. Там важны:- корректный DNS (
/etc/resolv.conf), - отсутствие блокировок
api.github.comиapi.business.githubcopilot.com, - отсутствие агрессивной фильтрации на уровне VPN, ad-block DNS или корпоративного прокси.
- корректный DNS (
Почему ломает одна строка в settings.json
Многие пользователи случайно включали продвинутые настройки Copilot:
"github.copilot.advanced": {
"authProvider": "github-enterprise"
}
или
"github.copilot.advanced": {
"authProvider": "minimal"
}
Эта настройка говорит Copilot использовать другой провайдер авторизации, а не стандартный GitHub.com. В результате расширение не может получить валидный токен и постоянно возвращает Invalid copilot token: missing token: 403.
Удаление этого блока из settings.json и перезапуск VS Code возвращают Copilot к нормальной схеме авторизации.
Где хранятся настройки и кеш
-
Windows (VS Code):
- Настройки:
C:\Users\<вы>\AppData\Roaming\Code\User\settings.json - Глобальное хранилище Copilot:
C:\Users\<вы>\AppData\Roaming\Code\User\globalStorage\github.copilot*
- Настройки:
-
macOS (VS Code):
- Настройки и состояние:
~/Library/Application Support/Code/ - Кеш:
~/Library/Application Support/Code/Cache~/Library/Application Support/Code/CachedData~/Library/Application Support/Code/User/workspaceStorage
- Настройки и состояние:
-
Linux/WSL:
- Настройки:
~/.config/Code/User/settings.json - Глобальное хранилище Copilot:
~/.config/Code/User/globalStorage/github.copilot*
- Настройки:
Отдельно Copilot создаёт папку в домашнем каталоге:
- Windows:
%USERPROFILE%\.github-copilot - Linux/WSL:
~/.github-copilot
Удаление этих директорий сбрасывает локальные токены и состояние Copilot.
Что происходит в WSL и почему виноват DNS/IPv6
В WSL2 /etc/resolv.conf обычно генерируется автоматически на основе настроек Windows. На практике это часто ломает доступ к api.github.com:
- DNS может резолвить домен с огромной задержкой.
- IPv6-адрес GitHub может быть недоступен, и система долго пытается к нему подключиться, прежде чем переключиться на IPv4.
Пользователи видели в логах Copilot Chat ошибки:
ConnectTimeoutError: Connect Timeout Error (attempted address: api.github.com:443, timeout: 10000ms)
TypeError: fetch failed
После ручной правки DNS внутри WSL:
sudo sh -c 'echo nameserver 8.8.8.8 > /etc/resolv.conf'
или с отключением автогенерации resolv.conf через /etc/wsl.conf, запросы к api.github.com начинали отвечать мгновенно, а Copilot успешно проходил авторизацию.
Что это значит для вас
Когда это вам полезно
Если вы:
- платите за GitHub Copilot / Copilot Pro, но в VS Code видите только бесконечный экран «Sign in to GitHub.com»;
- получаете в логах Copilot/Chat сообщение
Invalid copilot token: missing token: 403; - замечаете, что локально Copilot работает, а в WSL/SSH/devcontainer — нет;
- только что установили Copilot, и он ни разу не смог авторизоваться;
— этот разбор поможет вернуть Copilot к жизни без переустановки VS Code и без форматирования среды.
Где Copilot поможет после починки
Когда авторизация работает нормально, Copilot в VS Code снова становится полезным в типичных сценариях:
- автодополнение кода по контексту файла и проекта;
- объяснение кода и рефакторинг через Copilot Chat;
- генерация тестов, SQL-запросов, простых скриптов;
- помощь в конфигурации CI/CD, Docker, Kubernetes-манифестов.
Отдельно важно: многие жалобы в обсуждении идут от пользователей WSL и SSH. Если вы активно работаете в удалённых средах, стоит сразу проверить DNS и IPv6, чтобы не ловить непонятные таймауты в Copilot.
Когда это не решит проблему
Не стоит ждать чуда, если:
- ваш провайдер, корпоративный VPN или DNS жёстко блокирует GitHub и домены Copilot;
- у вас нет действующей подписки на Copilot, а вы рассчитываете на полноценную работу Pro-функций;
- вы используете форки VS Code вроде VSCodium, где поведение встроенных GitHub-компонентов может отличаться. В обсуждении есть пример, где на VSCodium Copilot Chat зависал на «working» даже после обходных манёвров.
В этих случаях придётся либо настраивать сеть (VPN, прокси, DNS), либо ждать обновлений конкретной сборки редактора.
Доступность в России
GitHub Copilot официально работает через GitHub.com и домены *.githubcopilot.com. Для пользователей из России доступ может зависеть от провайдера, DNS и VPN. Если GitHub или Copilot-домены не открываются в браузере, Copilot в VS Code тоже не сможет авторизоваться. В этом случае без VPN или корректно настроенного прокси обойтись не получится.
Место на рынке
Обсуждение на GitHub касается не качества подсказок Copilot, а стабильности его работы в VS Code. Прямых сравнений с GPT-4o, Claude 3.5 или другими ассистентами в коде в источнике нет.
Зато хорошо видно, как Copilot встроен в экосистему VS Code:
- он опирается на встроенный GitHub Authentication;
- активно использует OAuth GitHub и сетевую инфраструктуру (DNS, VPN, прокси);
- хранит значительную часть состояния локально в профиле пользователя.
По сравнению с ассистентами, которые работают только в браузере, Copilot выигрывает глубокой интеграцией в редактор, но и ломается чаще из‑за настроек профилей, расширений и удалённых окружений (WSL, SSH, devcontainer).
Установка / Как запустить
Ниже — собранный из обсуждения чек‑лист, который помогает починить Copilot в VS Code, если он застрял на «Sign in to GitHub.com».
1. Удалите проблемный блок в settings.json
Откройте settings.json и найдите строки вида:
"github.copilot.advanced": {
"authProvider": "github-enterprise"
}
или
"github.copilot.advanced": {
"authProvider": "minimal"
}
Удалите весь блок "github.copilot.advanced": { ... }, сохраните файл и перезапустите VS Code.
Как открыть settings.json в VS Code:
- Откройте Settings.
- В правом верхнем углу нажмите на иконку с документом
Open Settings (JSON). - Либо:
Settings → Profiles → Workbench › Settings: Apply To All Profiles— VS Code откроетsettings.jsonв профиле пользователя.
2. Включите встроенное расширение GitHub Authentication
- Откройте панель расширений:
- Windows/Linux:
Ctrl+Shift+X - macOS:
Cmd+Shift+X
- Windows/Linux:
- В строке поиска введите:
@builtin github authentication - Найдите GitHub Authentication.
- Если расширение отключено — нажмите Enable.
- Перезапустите VS Code.
3. Полностью сбросьте логин Copilot
Выполните команды из командной палитры:
-
Откройте палитру:
- Windows/Linux:
Ctrl+Shift+P - macOS:
Cmd+Shift+P
- Windows/Linux:
-
По очереди выполните:
GitHub: Sign Out GitHub Copilot: Sign Out GitHub: Clear all sessions -
Закройте VS Code целиком.
-
Очистите локальный кеш Copilot:
-
Windows:
- Удалите папку:
%USERPROFILE%\.github-copilot - И глобальное хранилище (если есть):
%APPDATA%\Code\User\globalStorage\github.copilot*
- Удалите папку:
-
WSL/Linux:
rm -rf ~/.github-copilot rm -rf ~/.config/Code/User/globalStorage/github.copilot*
-
-
Зайдите на GitHub в браузере:
https://github.com/settings/applications- В разделе Authorized OAuth Apps найдите GitHub Copilot и удалите доступ.
- В разделе Authorized GitHub Apps удалите всё, что связано с GitHub Copilot и GitHub Copilot Chat.
-
Снова откройте VS Code.
-
Установите или переустановите расширения:
- GitHub Copilot
- GitHub Copilot Chat
-
Нажмите Set up GitHub Copilot и пройдите авторизацию в браузере. Убедитесь, что запрошены права:
read:userrepouser:emailworkflowcopilot
4. Исправьте DNS и IPv6 в WSL
Если Copilot работает локально, но не работает в WSL, попробуйте следующее.
Вариант 1: быстрый фикс DNS
В терминале WSL:
sudo sh -c 'echo nameserver 8.8.8.8 > /etc/resolv.conf'
Проверьте, что запросы к GitHub проходят:
curl -4 https://api.github.com
Вариант 2: постоянная правка DNS в WSL2
-
Отключите автогенерацию
resolv.conf:sudo nano /etc/wsl.confДобавьте строки:
[network] generateResolvConf = false -
Удалите старый
resolv.confи создайте новый:sudo rm /etc/resolv.conf echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.confили с Cloudflare DNS:
echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf -
На хосте Windows перезапустите WSL:
wsl --shutdown -
Снова откройте дистрибутив WSL и VS Code через
code ..
Пользователи также делились точечным решением: прописать IP GitHub в /etc/hosts, если DNS не даёт стабильный ответ:
sudo nano /etc/hosts
# добавить строки вида
<ip> api.github.com
<ip> api.business.githubcopilot.com
IP можно взять из ping на хосте Windows.
5. Отключите агрессивный VPN / DNS-фильтрацию
Если у вас настроен ad-blocking DNS или фильтрующий VPN, он может блокировать запросы Copilot. В обсуждении один из пользователей решил проблему, просто отключив агрессивный DNS-блокировщик — Copilot Chat сразу перестал падать с ошибкой «remote host extension terminated unexpectedly».
Минимум, что стоит сделать:
- временно отключить такой DNS/VPN и проверить Copilot;
- добавить в белый список:
api.github.comapi.business.githubcopilot.com- прочие домены
*.githubcopilot.com.
6. Обновите расширения и, в крайнем случае, VS Code
У нескольких пользователей проблема исчезла после простого обновления:
- GitHub Copilot до актуальной версии;
- GitHub Copilot Chat до актуальной версии.
Если ничего не помогает, один из вариантов — переустановить VS Code с чистым профилем. Перед этим лучше:
- включить Settings Sync или сохранить
settings.jsonвручную; - убедиться, что вы удалили кэш и глобальные хранилища (
~/Library/Application Support/Codeна macOS,%APPDATA%\Codeна Windows).
7. Альтернативный способ логина через командную палитру
Если кнопка «Sign in to GitHub.com» в интерфейсе Copilot Chat не реагирует, один из пользователей смог залогиниться так:
- Откройте командную палитру:
Copilot: Sign in - Пройдите авторизацию через открывшийся браузер.
После этого кнопка в чате перестала быть «мертвой».
Если после всех шагов Copilot всё равно не оживает, разработчики VS Code просят отправлять баг‑репорты с логами:
-
для проблем в VS Code и Copilot:
https://github.com/microsoft/vscode-copilot-release/issues -
для проблем в WSL/SSH/devcontainer:
https://github.com/microsoft/vscode-remote-release/issues
К отчёту стоит приложить:
- версию VS Code;
- версии расширений GitHub Copilot и GitHub Copilot Chat;
- тип среды (локально, WSL, SSH, devcontainer);
- логи из панели Output для Copilot и Copilot Chat.