github copilot 与 github desktop 认证失败的根本原因是 macos 钥匙串中存在被污染、过期或格式错乱的 github.com 凭据,需手动清空所有相关互联网密码条目,并重置 git 凭据管理器或改用 ssh 协议,最后清除 copilot 状态并重新 oauth 登录。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

GitHub Copilot 在 VSCode 中提示认证失败,同时 GitHub Desktop 无法登录或反复弹出 “The username or passphrase you entered is not correct” 错误,本质是二者共用 macOS 钥匙串(Keychain)中同一组 github.com 凭据,而其中一条已被公司代理污染、过期或格式错乱,导致 Copilot 初始化时读取失败并阻塞后续请求。
清理钥匙串中冲突的 GitHub 凭据
打开「钥匙串访问」应用程序(可通过 Spotlight 搜索启动)。
在左侧边栏「钥匙串」列表中,选中「登录」;在右侧主区域顶部搜索框输入 github.com。
找到类型为「互联网密码」且“服务器”列为 github.com 的条目——通常有 2~4 条,包括 git:https://github.com、github.com(OAuth)、github.com(Personal Access Token)等;【逐个双击打开,勾选「显示密码」,输入系统登录密码解锁后,直接清空「密码」字段并点「存储」】。
这一步必须手动清空全部相关条目,不能只删一条——Copilot 启动时会按固定顺序尝试读取,任一残留错误凭据都会触发认证链中断。
重置 Git 凭据管理器并切换协议
方法一:禁用 Git 内置凭据缓存,改用 macOS 原生钥匙串
终端执行:git config --global --unset credential.helper → 再执行:git config --global credential.helper osxkeychain。
方法二:彻底绕开 HTTPS 认证,改用 SSH 协议(推荐用于开发机)
生成新 SSH 密钥:ssh-keygen -t ed25519 -C "your_email@example.com" → 将公钥内容粘贴至 GitHub Settings → SSH and GPG keys 页面 → 在本地 Git 全局配置中强制使用 SSH:git config --global url."git@github.com:".insteadOf "https://github.com/"。
注意:改用 SSH 后,GitHub Desktop 会自动降级为只读模式(不支持 SSH 提交),但 Copilot 认证完全不受影响——因为它的 token 校验走的是 API 独立通道,与 Git 协议解耦。
重启 Copilot 认证流程
第一步:关闭所有 VSCode 窗口和 GitHub Desktop 实例。
第二步:在终端执行以下命令清除 Copilot 本地状态:rm -rf ~/.vscode-server/data/User/globalStorage/github.copilot-*(远程环境)或 rm -rf ~/.vscode/extensions/github.copilot-*(本地)。
第三步:重新打开 VSCode → 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)调出命令面板 → 输入并选择 GitHub Copilot: Sign In → 完整走完浏览器 OAuth 授权流程,**不要点击「Continue with GitHub」旁的「Use a token instead」小链接**——该入口会跳过钥匙串校验,但极易因 PAT 权限缺失导致后续建议功能静默失效。
第四步:授权完成后,立即在 VSCode 中新建一个 .py 文件,输入 def 触发补全,确认右下角出现 Copilot 图标且无报错提示。











