VSCode 远程 SSH 连接下 Copilot 无法使用 Claude 及 Agent 模式的解决方案
在使用 VSCode 进行远程开发时,本地配置代理能正常调用 Claude 模型,但切换到 SSH 远程环境后,往往会出现连接异常或 Agent 模式报错的问题。许多开发者尝试在本地设置中强制扩展运行,结果反而导致工作区路径识别错误。
问题分析
如果在本地 settings.json 中添加如下配置:
{
"http.proxy": "http://127.0.0.1:1082",
"remote.extensionKind": {
"GitHub.copilot": ["ui"],
"GitHub.copilot-chat": ["ui"]
}
}
虽然能强制 Copilot 在本地运行并加载模型,但这会导致远程工作区路径在本地无法被正确识别。此时 Agent 模式会提示 copilotAllow edits to sensitive files?The model wants to edit files outside of your workspace,这是因为扩展进程与实际工作区上下文分离造成的。
解决方案
正确的做法是将代理配置穿透到远程服务器,让远程环境直接使用代理,同时保持扩展在远程侧运行以匹配工作区路径。
1. 清理本地配置
首先,将本地配置文件中的相关代理和扩展限制代码注释掉,避免干扰远程会话。

2. 配置 SSH 隧道
打开 SSH 配置文件,加入代理穿透规则,确保远程服务器能访问外网。

3. 远程端设置代理
在远程服务器的 settings.json 中配置代理端口,注意不要强制扩展运行在本地。


