VS Code 里 Claude Code 面板无响应或报 500?GLM 多会话拒绝的排查与解法
在 VS Code 扩展面板给 Claude Code 发消息时,面板长时间转圈无响应,最终报 API Error: 500 [1234][网络错误,请稍后重试]——而同一时刻终端里的 claude 完全正常。这篇文章记录这次排查的完整过程和结论。
在 VS Code 扩展面板给 Claude Code 发消息时,面板长时间转圈无响应,最终报 API Error: 500 [1234][网络错误,请稍后重试]——而同一时刻终端里的 claude 完全正常。这篇文章记录这次排查的完整过程和结论。
在 VSCode 大版本升级后,Claude Code 扩展卡住长时间无响应,只能卸载重装,重装时遇到 Failed to fetch、vsix 文件格式错误等一系列安装问题。
VSCode 升级后扩展可能卡住无响应,卸载重装时报 Failed to fetch,手动下载 vsix 又遇到格式错误。根因是 marketplace 服务器返回 gzip 压缩内容(标准 HTTP 内容协商),curl -L 跟随重定向时未自动解压,导致保存的文件是 gzip 格式而非 zip 格式。解法:手动 curl 下载 vsix → gunzip 解压 → code --install-extension 安装。
升级 VSCode 后出现以下异常:
Manifesting... 卡住卸载后尝试重装,所有安装方式都失败:
# VSCode UI 安装 → Failed to fetch
# 命令行安装 → 同样失败
code --install-extension anthropic.claude-code
# 安装扩展时出错: Failed to fetch
三个因素叠加导致本次异常:
VSCode 升级触发 WSL 扩展宿主重新初始化。 Claude Code 这类扩展必须在 WSL 侧安装才能运行(被定义为远程扩展主机运行),大版本升级后扩展可能卡住无响应,需要卸载重装。
VSCode 扩展安装走内部网络栈,不读 WSL 的 http_proxy。 即使 WSL 中配置了代理(如 http://172.30.0.1:7897),VSCode 的扩展下载流程使用自己的网络通道,不受系统代理变量影响。
Marketplace 服务器返回 gzip 压缩内容,curl -L 未自动解压。 marketplace API 端点在 HTTP 内容协商中返回 gzip 压缩响应,这是标准行为。curl -L 跟随重定向时,在某些情况下不会自动解压 Content-Encoding: gzip,导致保存的文件是 gzip 格式而非预期的 zip 格式。用 file 命令检查会看到 gzip compressed data 而非 Zip archive data。
在 WSL 终端中用 curl 下载:
curl -L "https://marketplace.visualstudio.com/_apis/public/gallery/publishers/anthropic/vsextensions/claude-code/latest/vspackage" \
-o ~/claude-code.vsix
file ~/claude-code.vsix
输出 gzip compressed data 说明文件是 gzip 格式,需要解压。输出 Zip archive data 则是原始格式,跳过下一步。
gunzip -c ~/claude-code.vsix > ~/claude-code-real.vsix
确认格式正确:
file ~/claude-code-real.vsix
# 输出:Zip archive data, at least v2.0 to extract
unzip -p ~/claude-code-real.vsix extension/package.json | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['version'])"
code --install-extension ~/claude-code-real.vsix
安装完成后重新加载 VSCode 窗口(Ctrl+Shift+P → Reload Window),扩展即可恢复正常。
WSL2 环境下这类环境问题不少见——如果你也遇到过 Docker Desktop host 网络模式下容器端口从宿主机访问不到 的问题,同样跟 WSL2 的特殊架构有关。
--compressed 参数让 curl 自动处理 gzip 解压,若无效再走手动 gunzip 流程不一定是代理。marketplace 服务器本身会返回 gzip 压缩内容(标准 HTTP 内容协商),curl -L 在跟随重定向时可能不会自动解压,导致保存的文件是 gzip 格式。手动下载并 gunzip 解压后安装即可。
VSCode 大版本升级会重新初始化 WSL 远程扩展宿主,扩展可能卡住无响应。卸载后手动下载 vsix 文件,用 code --install-extension 安装即可恢复。
文件是 gzip 格式而非 zip 格式。marketplace 服务器返回 gzip 压缩内容,curl -L 未自动解压。用 gunzip -c file.vsix.gz > file.vsix 解压后再安装,用 file 命令可以确认格式。
在 WSL2 环境下使用 Claude Code、Roo 等 AI 编程工具时,工具需要通过 Windows 宿主机代理访问 API,却反复报 ConnectionRefused。解决防火墙问题后,又遇到两个隐藏坑。记录完整排查过程。
WSL2 的 vEthernet (WSL) 虚拟网卡每次启动重建,Windows 防火墙无法为其分配 Network Profile,导致所有入站规则对这个接口都不生效(EnforcementStatus: NotApplicable)。不需要加规则,直接对接口禁用防火墙即可:
# 在 Windows PowerShell (管理员) 中执行
Set-NetFirewallProfile -DisabledInterfaceAliases "vEthernet (WSL)"
此外,修复防火墙后,还可能遇到两个额外坑:
~/.claude.json 和 ~/.claude/settings.json 里缓存了旧 API key 导致认证冲突VSCode Copilot Agent Mode 是实验性功能,能让 AI 自动执行多步骤任务(包括编辑文件、运行终端命令)。在 settings.json 中添加 "github.copilot.chat.agent.enabled": true 即可启用,适合处理重复性重构、批量文件修改等场景。