多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Claude Code报错Unable to connect to API (ECONNRESET) 问题解决

Claude Code报错Unable to connect to API (ECONNRESET) 问题解决 一、问题描述运行 claude 命令界面持续显示 “Unable to connect to API (ECONNRESET) · Retrying in 14s · attempt 10/10”输入任何指令均无法建立连接重试 10 次后仍失败所有会话不可用。复发场景回滚修复后每次打开 VSCode 使用 Claude Code 时问题再次出现。二、排查过程按“本地网络 → 链路 → 服务端 → 客户端”逐层排除关键结果如下排查项方法结果DNS 与链路nslookup / curl 直连 api.deepseek.com正常走 CDNeo.dnse1.com双 IP 均通API 服务端带 Key 真实请求鉴权/流式/大请求/thinking/HTTP2全部 HTTP 200服务端健康代理配置环境变量与系统代理检查未配置代理客户端复现claude -p 一次性模式 vs 交互模式一次性偶发成功 → 指向客户端版本问题版本升级记录.last-update-result.json15:19 自动升级 v2.1.220 → v2.1.221包结构对比npm tarball 对比新旧版本22022KB JS 包221278MB Bun 编译二进制运行日志debug 日志 / 遥测Stream connection error (ECONNRESET)sourceURLB:/~BUN/...复发溯源VSCode 扩展目录 / 升级记录时间戳VSCode 扩展内嵌 2.1.221启动时将全局包升级回 2.1.221关键证据故障时间与升级时间吻合升级记录时间戳 15:19:40与问题出现时间一致v2.1.221 换用 Bun 运行时遥测 is_running_with_buntrue日志堆栈来源 B:/~BUN/root/src/entrypoints/cli.js错误仅发生在流式连接日志持续报 “Stream connection error (ECONNRESET) — retrying streaming”复发元凶VSCode 扩展 anthropic.claude-code-2.1.221-win32-x64 启动时将全局 claude 升级回 2.1.221升级记录时间戳 23:40 与打开 VSCode 时刻一致。三、根因分析根因Claude Code 于 2026-08-04 15:19 自动从 v2.1.220 升级至 v2.1.221新版本由 JS 包改为 Bun 运行时编译的原生二进制。Bun 的 TLS 指纹 / HTTP 协议栈与 DeepSeek API 的 CDN 边缘节点不兼容导致流式请求被服务端间歇性 RSTTCP 连接重置表现为 ECONNRESET。复发根因VSCode 的 Claude Code 扩展自带 2.1.221 二进制启动时会把全局 claude 强制升级回有问题的版本覆盖已回滚的 2.1.220。排除项API Key 与账户余额正常、DeepSeek 服务端健康、本地网络正常、无代理配置、模型名正确。Anthropic 官方服务器被墙仅产生遥测噪音非阻塞项。四、解决方案步骤操作说明1结束残留进程结束锁住二进制文件的 claude.exe 进程2设置禁更新环境变量设置用户级 DISABLE_AUTOUPDATER1永久禁止自动升级官方机制扩展与 cli 均读取3回滚全局版本npm 回滚至 v2.1.220--ignore-scripts 单独装 win32-x64 包 手动复制二进制4替换 VSCode 扩展内嵌二进制将扩展 resources/native-binary/claude.exe 替换为 2.1.220与全局一致5功能验证版本号 / claude -p 调用 / 流式压力测试 8/8 通过关键命令Get-Process -Name claude | Stop-Process -Force[Environment]::SetEnvironmentVariable(DISABLE_AUTOUPDATER,1,User)npm install -g anthropic-ai/claude-code2.1.220 --ignore-scriptsnpm install -g anthropic-ai/claude-code-win32-x642.1.220 --ignore-scripts# 手动复制 win32-x64 包 claude.exe 至 wrapper bin/ 与 VSCode 扩展 resources/native-binary/五、经验教训版本升级是连接类故障的第一排查对象遇到“以前能用、突然不能用”先核对 .last-update-result.json 时间戳运行时变更JS→Bun/Go/Rust 编译会改变 TLS 指纹与 HTTP 行为可能被 CDN/WAF 拦截——这是“两端健康但连不上”的典型场景外层 curl 测试只能证明服务端健康必须用问题客户端本身复现才能定位根因VSCode 扩展会强制同步全局 claude 版本settings.json 的 autoUpdates:false 挡不住必须用 DISABLE_AUTOUPDATER1 环境变量 同步替换扩展内嵌二进制。
返回列表