VSCode 远程 SSH 下 Copilot 启用 Claude 及修复 Agent 编辑异常
在 VSCode 远程开发场景中,配置代理以使用 Copilot 的 Claude 模型时,经常会遇到本地正常但远程连接异常的情况。特别是开启代理后,Agent 模式无法编辑文件,提示工作区错误。
常见误区与原因分析
很多教程建议直接在本地 settings.json 中添加代理配置,并强制将 Copilot 扩展运行在本地 UI:
{
"http.proxy": "http://127.0.0.1:1082",
"remote.extensionKind": {
"GitHub.copilot": ["ui"],
"GitHub.copilot-chat": ["ui"]
}
}
这样做确实能让本地看到 Claude 模型,但在远程 SSH 会话中,由于扩展被强制在本地运行,而代码实际在远程服务器,Copilot 无法正确识别远程的工作区路径,从而报错:
copilotAllow edits to sensitive files? The model wants to edit files outside of your workspace
这并非真的敏感文件问题,而是路径上下文不匹配导致的误判。
解决方案
核心思路是不要强制扩展本地化,而是让远程环境也能访问代理。具体步骤如下:
1. 清理本地强制配置
首先,打开本地的 VSCode 设置(settings.json),注释掉或移除之前为了强行显示模型而添加的 extensionKind 相关配置,保留基础的代理设置即可,或者暂时清空。
2. 配置远程代理
我们需要确保远程服务器能访问代理端口。如果你使用了 SSH 隧道,可以将本地代理端口映射到远程;或者直接在远程环境中配置代理环境变量。
在远程连接的 VSCode 设置中(通常位于 .vscode-server 目录下的 settings.json),添加以下配置:
{
"http.proxy": "http://127.0.0.1:1082",
"http.proxyStrictSSL":

