当您在使用 GitHub Copilot 时,遇到 VSCode 反复跳转空白页、重定向失败,或直接提示“Login failed via browser”,根本原因在于 OAuth 浏览器授权流程已中断。此时图形化登录方式无法继续,唯一的解决路径是绕过浏览器,改为手动注入 Auth Token 来恢复服务。下面提供可直接操作的步骤。

获取 GitHub Personal Access Token 的完整步骤
登录 GitHub 后,点击右上角头像进入 Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → Generate new token (classic)。
勾选三项最低必需权限:repo、read:user、user:email,其他权限不需要选。Token 名称建议填写“vscode-copilot-202605”,便于日后识别和管理。
点击生成后,页面会一次性显示完整的 token 字符串——注意,这串字符仅展示这一次,刷新或离开页面后便无法再次查看。因此,请立即复制并妥善保存到安全位置,以免后续使用时找不到。
在 VSCode 中手动注入 Token 的方法
按下 Ctrl+Shift+P(macOS 为 Cmd+Shift+P)打开命令面板,输入并选中“GitHub: Set Authentication Token”。粘贴刚才复制的 token 字符串,按回车确认。VSCode 不会进行格式校验,只要有一个字符错误就会导致认证失败。操作虽然简单,但需特别注意:粘贴的 token 前后不能包含空格、换行或中文引号,否则会无效。
强制刷新 Copilot 状态以激活服务
第一步:在命令面板中运行“Developer: Reload With Extensions Disabled”。
第二步:等待窗口完全重启后,再次打开命令面板,运行“Developer: Reload With Extensions Enabled”。
第三步:运行“GitHub Copilot: Sign in to GitHub”——此时不会再弹出浏览器,而是直接读取之前注入的 token 并激活服务。
如果状态栏 Copilot 图标仍然显示灰色叉号,说明 token 权限不足或已过期。需要回到第一步重新生成,并确保已勾选 repo 和 read:user。这两项权限是硬性要求,缺少任意一项都会导致认证失败。
