VSCode 远程 SSH 连接下 Copilot Claude Agent 异常修复
在使用 VS Code 进行远程 SSH 开发时,部分用户发现 Copilot 中的 Claude 模型突然不可用,或者在启用代理后虽然模型显示正常,但 Agent 模式无法正常编辑文件,提示工作区错误。
问题分析
许多教程建议在本地 settings.json 中添加代理配置并强制 Copilot 扩展在本地运行(UI),例如:
{
"http.proxy": "http://127.0.0.1:1082",
"remote.extensionKind": {
"GitHub.copilot": ["ui"],
"GitHub.copilot-chat": ["ui"]
}
}
这种配置会导致 Copilot 扩展进程在本地启动,而远程工作区的文件路径在本地无法被正确识别,从而引发'工作区错误'或 Agent 模式失效。这是因为 GitHub.copilot 和 GitHub.copilot-chat 设置为 ui 会强制扩展在本地运行,导致远程路径无法识别。
解决方案
正确的做法是将代理配置应用于远程服务器端,使扩展在远程环境中运行并使用远程代理。
1. 修改本地配置
注释掉本地配置文件中的以下强制 UI 运行代码:
// "remote.extensionKind": { "GitHub.copilot": [ "ui" ], "GitHub.copilot-chat": [ "ui" ] }
2. 配置远程代理
打开远程 SSH 会话下的 settings.json,添加代理配置。假设本地代理端口为 1082,需确保远程服务器能访问该代理(通常通过 SSH 隧道或远程服务器自身网络配置)。
{
"http.proxy": "http://127.0.0.1:1082",
"http.proxyStrictSSL": false
}
3. 验证结果
重启 VS Code 后,Claude 模型应恢复正常,且 Agent 模式可正常编辑文件,因为工作区路径始终在远程环境中。

