# Claude Code API Error 500 怎么办：恢复原会话，不重做已完成操作

> Claude Code 报 API Error 500，先看出在任务中途、登录这一步，还是某个旧会话每轮都报。任务被打断时恢复原会话，核对已执行的文件和外部操作，只继续剩余步骤。

- URL: https://blog.laozhang.ai/zh/posts/claude-code-500-529-rate-limit
- Published: 2026-08-04
- Updated: 2026-10-05
- Author: LaoZhang AI Team (https://blog.laozhang.ai/zh/about)
- Topic: Claude Code
- Tags: Claude Code, API Error 500, API Error 529, 会话恢复, OAuth 登录, 响应不完整, 故障排查

---
Claude Code 终端报 `API Error: 500`，先看它出在哪一步：任务进行到一半、登录这一步，还是只在某个恢复的旧会话里每一轮都报。走官方 Anthropic 连接时，当前的完整提示是：

```text
API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check https://status.claude.com.
```

官方把它解释为 API 内部的意外故障，不是你的提示词、设置或账号引起的；原消息还留在对话里，等一分钟后回复 `try again` 就能重发。需要小心的是任务中途断开的情况：文件可能已经改好，工具调用可能已经执行，部署也可能已被远端接收。这时先找到原会话，核对实际完成了什么，再只继续未完成的步骤，不把整项任务重做一遍。以上依据截至 2026 年 10 月 5 日的[官方错误说明](https://code.claude.com/docs/zh-CN/errors)；下面的恢复命令和核对流程未在真实故障会话里实测。

## 先看 500 出现在哪一步：重试、重新登录还是核对进度

| 当前提示 | 它说明什么 | 下一步 |
| --- | --- | --- |
| `API Error: 500 Internal server error`，任务中途出现，正文和工具调用都还没开始 | API 内部发生意外错误 | 查错误末尾指定的服务状态，等待约一分钟，再在原会话回复 `try again` |
| 登录时出现 `OAuth error: Request failed with status code 500`，或浏览器授权页显示 Authorization failed | 登录这一步失败，任务还没开始 | 不用核对进度；先查状态，再按下文重置登录 |
| 某个恢复的旧会话每一轮都报 500，新开的会话却正常 | 很可能与这段对话保存下来的内容有关 | 先更新再恢复一次；仍失败就用新会话对照，带核实过的交接说明继续 |
| 报错末尾写的是网关或中转地址，不是 status.claude.com | 请求经过自定义 `ANTHROPIC_BASE_URL`，500 可能是网关自己返回的，也可能是转述上游 | 先查该网关或中转服务的状态和错误正文 |
| `Repeated 529 Overloaded errors`，尚未开始正文或工具调用 | 当前服务或模型暂时过载，已经进行过适用的自动重试 | 等几分钟；任务允许且有其他可用模型时，可用 `/model` 切换 |
| `The response above may be incomplete` | 响应在中途失败，已完成输出会保留，完整工具调用可能已经执行 | 先读保留结果，再按下文恢复会话、核对状态、继续剩余工作 |
| `Server is temporarily limiting requests (not your usage limit)` | 与套餐额度无关的短暂服务端节流 | 短等后再试；持续出现时查服务状态 |
| `You've hit your session limit` 或 `weekly limit`，带重置时间 | 真正的订阅用量窗口耗尽 | 用 `/usage` 核对，等显示的重置时间；换模型不能恢复共享窗口 |
| `Request rejected (429)` 或明确的支出上限提示 | API key、云项目或网关限制，需要看具体错误正文 | 用 `/status` 确认请求路径，再查对应控制台；不要无限重试支出上限 |

表中的 500、529 和用量判断来自[Claude Code 错误文档](https://code.claude.com/docs/zh-CN/errors)；登录和旧会话两行的依据见下面对应小节；直接 API 的 429 还可能是月度支出上限，见 [API 错误参考](https://platform.claude.com/docs/en/api/errors)。网关可能返回自己的状态或转述上游错误，要以实际服务方的说明为准。

![按任务中途、登录阶段、旧会话和529过载分流，并区分完整与未完成输出块](https://blog.laozhang.ai/posts/zh/claude-code-500-529-rate-limit/img/error-state-map.webp)

错误末尾的状态地址很有用：Anthropic 路径指向 [Claude Status](https://status.claude.com/)，Bedrock、Google Cloud、Microsoft Foundry 指向对应云厂商的状态页，自定义 `ANTHROPIC_BASE_URL` 则写出网关主机。走中转时看到 500，先查中转服务本身，而不是干等 Anthropic 恢复。状态页绿色不能证明你的请求正常，也不能据此认定账号、登录或原会话已损坏。如果错误其实出现在网页或第三方应用，可转到[Claude 内部服务器错误的入口分流](https://blog.laozhang.ai/zh/posts/claude-internal-server-error)；自己写代码直接调 API 收到 500，看[Claude API 500 内部服务器错误：有限重试与失败处理](https://blog.laozhang.ai/zh/posts/claude-api-internal-server-error)。

## 登录时报 OAuth error 500：任务还没开始，先查状态再重置登录

在登录这一步报 500，任务还没开始，没有需要核对的半成品，后面的进度清单用不上。用户报告里见到的形式有三种：终端显示 `OAuth error: Request failed with status code 500`，有时前面先出现 `OAuth error: timeout of 15000ms exceeded`；浏览器停在 claude.ai 的授权页，显示 Authorization failed — Internal server error；或者终端显示 `OAuth error: Failed to fetch user roles: Request failed with status code 500`。这些来自 2026 年 3 月到 4 月的 GitHub 报告（[#33226](https://github.com/anthropics/claude-code/issues/33226)、[#44271](https://github.com/anthropics/claude-code/issues/44271)、[#44725](https://github.com/anthropics/claude-code/issues/44725)），Anthropic 在这些帖子里没有确认原因；[官方登录与认证排查](https://code.claude.com/docs/zh-CN/troubleshoot-install)也没有为 OAuth 500 单列修法，下面的顺序是把事故记录和官方的登录重置步骤合起来用。

1. 先看 [Claude Status 历史](https://status.claude.com/history)。登录链路本身会出事故：2026 年 8 月 24 日 UTC 16:02–16:08 和 20:00–20:08 各有一次 Claude.ai 登录故障，记录里写明包括用订阅登录 Claude Code。这类事故可能只持续几分钟，结束后重试一次。
2. 状态正常仍失败，按官方的重置流程：运行 `/logout`，关闭 Claude Code，重新运行 `claude` 再登录一次。浏览器没有自动打开，或授权链接在窄终端里折行点不了，就按 `c` 复制链接到浏览器打开。看到 `OAuth error: Invalid code` 是登录码过期或复制不全，浏览器打开后尽快完成。`/logout` 会清掉所有保存的凭据，包括 MCP 服务器的登录和插件的敏感配置，之后要重新授权。
3. 在 WSL2、SSH 远程机或容器里登录时，浏览器运行在另一台主机上，授权后的跳转回不到 Claude Code 的本机回调端口。浏览器会显示一段登录码，把它粘贴到终端的 `Paste code here if prompted` 提示处；粘贴没反应就改用 `claude auth login`，它从标准输入读取登录码。WSL2 里浏览器打不开时，可以把 `BROWSER` 环境变量设成 Windows 浏览器的路径。
4. 同一个账号在另一台机器上能登录，问题更可能在当前机器的本地网络路径：防火墙策略、代理，或回调端口被拦截。[#44725](https://github.com/anthropics/claude-code/issues/44725) 的报告者就是一台受组策略防火墙管理的 Windows 机器失败、另一台正常，这只是单个案例，不是已确认的通用原因。
5. 用 `/status` 确认当前用的是哪种认证方式。shell 配置里遗留的 `ANTHROPIC_API_KEY`，只要你曾同意使用，就会取代订阅登录；`-p` 模式下只要存在就会使用它。走的是 API key 还是订阅、各自怎么计费，见[Claude Code API Key 和订阅计费怎么选：先看 /status](https://blog.laozhang.ai/zh/posts/claude-code-api-key-vs-subscription-billing)。

系统时钟和 macOS 钥匙串针对的是另一种情况：登录能成功，但过一阵又反复要求登录。令牌校验依赖时间戳，所以先确认系统时间准确；macOS 上 `claude doctor` 报 `macOS Keychain is not writable` 时，按官方步骤解锁钥匙串，再 `/logout` 和 `/login`。不需要为此重装 Claude Code，也不要删除整个 `~/.claude` 目录。提示不是 500，而是登录过期、未登录、令牌被吊销或钥匙串保存失败时，看[Claude 提示无法认证：先查事故，再修本机或账号](https://blog.laozhang.ai/zh/posts/claude-temporarily-unable-to-authenticate)。

## Claude Code 自动重试几次？要看中断发生在哪一步

官方说的是瞬时故障最多重试 10 次，不能改写成“所有错误总共尝试 10 次”。响应前的服务端错误、过载和超时属于常规重试范围；掉线、停滞流与响应中断还有各自条件。最终报错出现时，Claude Code 已经完成了适用于该故障的重试。[自动重试规则](https://code.claude.com/docs/en/errors#automatic-retries)明确区分以下情况：

- 思考已结束，正文或工具调用尚未开始：从 v2.1.284 起，这时发生的服务端错误或过载仍可重试，最多两次。不能把“已经输出思考”直接当成不可重试。
- 已完成一个正文块或工具调用，或思考结束后已开始正文或工具调用：原请求不再重放，以免同一个工具调用执行两次。Claude Code 保留完成的输出，执行完整的工具调用，并从工具结果继续处理。
- 响应已经完整结束：后续掉线不需要重试，完整结果保留。

因此，“看到一点流式文字”和“一个内容块已经完成”也不是同一条件。停滞流在尚未产生响应、或只完成思考的部分情形下还会额外重发一次，其预算不同。排查时读完整提示和重试倒计时，不自行补一个“再试十次”的循环。

## 进程退出后，怎样找回正确的原会话？

如果原来的 Claude Code 还在运行，留在该会话里读保留输出，先不要新建会话或清空对话。只有界面完全无响应时，才先尝试 `Ctrl+C` 取消当前操作；仍无响应再关闭终端、重新启动。官方[稳定性排查](https://code.claude.com/docs/es/troubleshooting)提供了这一处理顺序，但重新启动本地进程不会取消已经被外部服务接收的操作。

进程已退出时，回到原项目目录，在终端运行：

```bash
claude --resume
```

在选择器中选中刚才中断的对话。已经进入另一个 Claude Code 会话时，也可以输入 `/resume` 打开选择器。成功判断不是“Claude 能启动”，而是恢复的对话确实包含原任务，以及中断前最后完成的工具调用或消息。核对对话中的文件名、工作目标和最后结果，避免在相似标题的另一条会话里继续。

如果错误信息或之前保存的输出提供了 session ID，用准确 ID 恢复更直接。下面的占位符要替换为真实 ID：

```bash
claude --resume <session-id>
```

根据[当前会话恢复错误说明](https://code.claude.com/docs/en/errors)，从 v2.1.223 起，按 ID 恢复会先查当前项目，再查这台机器上的其他项目；旧版本的查找范围更窄。选择器里找不到交互会话时，可按 `Ctrl+A` 扩大到本机所有项目。`claude -p` 和 Agent SDK 创建的会话不出现在交互选择器中，应使用原运行 JSON 输出的 `session_id`。

出现 `No conversation found with session ID` 时，依次检查 ID 是否抄错、会话是否运行在另一台机器，以及记录是否已被清理。本地记录默认保留期为 30 天，且受清理规则影响；正确 ID 也不能恢复已删除的记录。不要把“没找到”直接解释为 500 破坏了整个项目。

### 恢复失败，或提示会话仍在另一终端运行

如果看到 `Failed to resume the conversation`，按提示用 `claude --resume` 加上会话 ID 再恢复一次。CLI 会以退出码 1 结束；运行中的 `/resume` 恢复失败则会保留当前会话，这不代表已经切回目标对话。v2.1.285 之前的版本遇到无法读取的记录条目时，官方建议先 `claude update` 再恢复。[恢复失败说明](https://code.claude.com/docs/en/errors)并不保证每份记录都能找回。

如果代理视图提示 `This session is running in another terminal` 或对话已在另一个进程中打开，继续使用那个进程；确实要更换终端时，先有意识地退出原进程。不要让两个执行者同时续接同一对话。当前代理视图会阻止它检测到的重复打开，不能据此假定所有启动方式都能自动避免并发写入。

另一个特殊提示是 `This session has no saved transcript`：从父对话转到后台的会话，如果在第一条响应完成前停止，可能还没有自己的已保存记录，父对话仍完整。应回父对话继续；`respawn` 或代理列表中的重新启动会开始空白对话，不等于恢复后台进度。[这些后台会话条件](https://code.claude.com/docs/en/errors)要与普通恢复失败分开。

### 恢复的旧会话每轮都报 500，新开会话却正常

会话能恢复，但之后每发一条消息都报 500，等待和 `try again` 都没用，而另开的新会话工作正常：这时问题很可能出在这段对话保存下来的内容上，而不是服务整体。能查到的线索来自用户报告。[#58827](https://github.com/anthropics/claude-code/issues/58827) 里，体量较大的旧会话恢复后报 `API Error: 500 status code (no body)`，新对话正常，报告者在本地记录里找到了 API 重放时不接受的内容，比如空的思考块和空的工具结果；[#70650](https://github.com/anthropics/claude-code/issues/70650) 里，一个连续跑了几天的会话每次都返回 `500 api_error`，`/rewind` 之后照旧，另开标签页的新会话正常。两份报告都已关闭，版本较旧，Anthropic 没有就这类 500 给出结论。

官方错误文档对几种 400 错误写过同样的模式：旧版本把 API 拒收的内容存进历史，恢复后每一轮都失败；处理办法是 `claude update` 后再恢复，仍失败就用 `/clear` 开一段不带这些内容的对话，“如果那里也报错，原因在请求路径上，而不在保存的对话里”。这段说明针对的是 400，不是 500，但它的判断方法可以借用：

1. 先尽量救原会话。运行 `claude update`，再用会话 ID 恢复一次。
2. 恢复后仍然每轮 500，先按下一节的清单把进度核对清楚、写成交接说明，再在同一项目目录开新会话做对照。
3. 新会话也报 500，问题在请求路径上：回头查服务状态、`/status` 显示的认证方式和网关。新会话正常，这段旧对话就别再反复重试，按下文“原会话确实恢复不了”的方式在新会话里继续。

不要手动编辑 `~/.claude` 下的会话记录文件，也不要用第三方工具“修复”它；保留原记录，用 `/feedback` 反馈时附上 session ID 和报错时间。

## 发 continue 前，核对文件、工具、后台任务和外部结果

先把中断前的操作分成“已确认完成”“确认未完成”和“结果未知”。完整工具结果是线索，真实文件、进程和目标系统的记录才决定下一步。

![用实际文件、进程和外部记录把中断操作分为已完成、未完成、未知，只继续原授权内剩余步骤](https://blog.laozhang.ai/posts/zh/claude-code-500-529-rate-limit/img/resume-ledger.webp)

| 中断前可能做过的操作 | 去哪里核对 | 核对后怎样继续 |
| --- | --- | --- |
| 编辑或生成文件 | 工作树、文件内容、`git diff`；未跟踪文件也要看 | 改动已正确落盘就保留，只补未完成部分 |
| 测试、构建、迁移或长命令 | 原终端、进程、日志、报告，必要时数据库迁移记录 | 仍在运行就等待或明确停止；已结束则按真实结果决定是否重跑 |
| 后台 Shell 或子代理任务 | 原会话任务列表、任务输出、关联进程 | 确认原任务是否还活着，不启动第二份相同任务 |
| 提交或分支操作 | 当前分支、最近提交、提交内容 | 已提交就从该提交继续，不再重复提交相同改动 |
| PR、CI 或部署 | 目标平台的 PR、run 或 deployment ID，以及关联提交 | 已接受或已启动就查现有记录，不再次触发 |
| API、数据库、消息或付款操作 | 目标记录、请求 ID、业务唯一标识或幂等键 | 已成功的不再发送；未知的先查目标系统，不能只凭终端报错重做 |

对于 Git 仓库，以下是只读核对命令，在原项目目录执行：

```bash
git status --short
git diff --stat
git diff
git diff --cached
git branch --show-current
git log -3 --oneline
```

`git diff` 只显示未暂存改动，`git diff --cached` 显示暂存改动；未跟踪文件要按 `git status` 列出的路径查看内容。工作树干净也可能是改动已提交，不能推出“什么都没做”。这些命令仍不能证明提交是否已推送，或远端部署是否结束，后者要查远端记录。

后台任务也不会因为界面报错就必然停止。如果上一回合启动了测试服务或迁移，先看原任务输出、进程和锁定状态，再决定等待、停止或重跑。对于已经被远端接受的请求，结束本地进程不会自动撤销它。

结果未知的外部写入是停止点。例如终端显示部署请求出错，而平台上已经有 deployment ID，就继续查询该部署；没有收到 ID 时，用对应提交、时间或平台日志查找。仍无法确认是否已执行，就先取得平台证据或联系该服务的支持方，不让 Claude 猜测“应该失败了”。

## 核对完后，让原会话只继续剩余步骤

官方对交互式不完整响应的建议是回复 `continue`，从最后完成的内容块继续。最后一个被打断的内容块会丢弃，因此句子、工具调用或原计划的尾部可能缺失。[不完整响应说明](https://code.claude.com/docs/en/errors#the-response-above-may-be-incomplete)强调，保留输出不等于整个任务已完成。

只有文本输出、没有待核对操作的对话，可以直接继续。包含文件修改和外部操作的任务，更适合在原会话给出已确认的进度与剩余范围。例如，假设你已经查明两个文件修改完成、测试尚未执行，且没有触发部署，可以发送：

```text
继续中断的任务。当前已核对：
- src/parser.ts 和 tests/parser.test.ts 的修改已落盘，内容符合原任务；保留这些改动。
- 命令日志显示测试尚未启动，也没有运行中的测试进程。
- 部署平台没有本次提交的部署记录，不要触发部署。

先对照会话里最后完成的工具结果和当前文件，确认这些状态。
只继续原任务剩余的本地测试；不要重新编辑已完成文件、重做提交或进行外部写入。
完成后报告测试结果和仍未完成的步骤。若发现实际状态与上述核对不一致，先指出差异，停止对应操作。
```

文件名、结果和剩余步骤要替换为你的真实记录，不能把示例当成已完成状态。若原任务还包含部署、数据库写入或消息发送，把它们分别列明：已有记录继续查询，确认未执行且仍有原授权的操作才进入剩余步骤。

继续成功的判断是：从已验证进度向前推进，新增结果能与剩余任务对应，原先完成的操作没有重复。再次中断时，更新这张进度清单，仍按相同顺序恢复。

`-p`、SDK 或云端会话有一条例外：主对话被截断的响应包含文本但没有工具调用时，当前版本可自动让它从中断处继续，最多连续三次。这是“继续部分文本”，不是重放原始请求，也不是带工具任务可以无条件重跑。交互选择器不显示 `-p` 和 SDK 会话时，按原输出的 session ID 恢复。[非交互式条件](https://code.claude.com/docs/en/errors#the-response-above-may-be-incomplete)不能套到所有任务。

### 原会话确实恢复不了，怎样转到新会话？

按 ID 重试、适用的更新后仍无法恢复，或者恢复后每轮都报 500、而新会话对照正常时，才把新会话作为后备方案。先在项目外部保留一份简短交接：原目标、已有文件改动、最近提交、测试和后台任务状态、外部操作 ID，以及尚未完成的步骤。新会话先读取相关文件与记录，核对清单，再继续剩余工作。

不要向新会话只说“把刚才的任务重做一遍”。对话记录不可用和项目文件丢失是两件事；恢复失败本身也不能证明之前的提交、部署或数据库写入失败。

## 恢复会话和回滚代码是两种操作

恢复会话是找回工作上下文；`/rewind` 的代码恢复会尝试还原被跟踪的文件。仅因服务端报错，不需要先回滚再重做；先看现有改动是否正确。

确实需要撤销错误编辑时，注意[当前回滚警告](https://code.claude.com/docs/en/errors)：链接或非普通文件、已变化的目录、不能安全读取的备份会被跳过，跳过文件保留当前内容；`No files were restored` 表示一个文件也没还原。默认清理期之后，界面仍可能列出 checkpoint，但备份已经不可用。

因此，读还原提示并重新核对文件和 Git 差异，不能只看“还原”按钮就认定全部成功。远端部署、数据库记录和已经发送的消息仍要到各自系统核对；本地代码还原不是这些操作的撤销凭证。

## 529、临时节流和真实额度耗尽，等待方式不同

在官方 Claude Code 的 Anthropic 错误路径上，`529` 表示服务暂时过载，不是你的个人用量上限，也不计入额度。几分钟后再试，或在原任务能接受、账户有可用替代模型时用 `/model` 切换；容量按模型分别计算，但切换不保证另一模型一定有空余。[529 处理建议](https://code.claude.com/docs/zh-CN/errors)不能推导出需要充值或升级套餐；备用模型怎么配置，见[Claude Code 报 529 过载怎么办：换模型还是等待](https://blog.laozhang.ai/zh/posts/claude-code-overloaded-error)。

`Server is temporarily limiting requests (not your usage limit)` 则是短暂节流，与套餐额度无关。当前版本会先自动退避，再显示最终提示；短等后再试，不按 session 或 weekly 的重置时间等待。

真正显示 session 或 weekly limit 时，运行 `/usage`，按提示的重置时间恢复。session 和 weekly 窗口跨模型共享，换模型不会解除限制；明确的 Opus 或 Sonnet 家族限制才可换到家族之外的可用模型。当前 CLI 可以留在会话中等待重置后继续。若准备手动接管，先查看是否已启用自动继续，避免同时手动重跑任务。[用量窗口规则](https://code.claude.com/docs/zh-CN/errors)与 Desktop 的勾选设置分别管理，不能以一个入口的设置推断另一个入口。

如果是 `429`，先用 `/status` 确认当前走订阅、API key、云厂商还是网关，再查相应限额。已获确认的 `ANTHROPIC_API_KEY` 可能使请求改走 API 计费路径；核对时只记录凭证类型，不分享密钥。直接 API 的支出上限 429 可能没有 `retry-after`，等几分钟不会恢复权限，见 [API 错误参考](https://platform.claude.com/docs/en/api/errors)。若问题是用量为何消耗得快，再看[Claude Code 的上下文、缓存和 MCP 用量审计](https://blog.laozhang.ai/zh/posts/claude-code-usage-limit-issues)。

## 同一路径仍失败，保存哪些材料？

先保存完整错误、发生时间和时区、Claude Code 版本、当前模型、`/status` 显示的连接方式、适用的服务状态，以及已有的 request ID。对于恢复问题，再补 session ID、最后完成的操作、实际文件与外部状态、恢复命令的结果，以及新会话对照是否正常。登录失败则补浏览器授权页的提示、是否在 WSL2、SSH 或容器里，以及同一账号在另一台机器能否登录。共享材料前移除密钥、私人对话和客户代码。

500 在短等后仍失败、529 在等待或可接受的模型切换后仍失败，或者原会话反复无法恢复时，停止随机换 key、清空会话和整项重跑。Anthropic 路径按[官方报告方式](https://code.claude.com/docs/en/errors)使用 `/feedback`；云厂商或自定义网关先找对应支持方。状态页绿色仍可报告请求级失败。

## 常见问题

### Claude Code 一直报 500，切换到 Sonnet 有用吗？

官方给 500 的步骤是查状态、等一分钟后重发、持续出现且没有公布事故时用 `/feedback` 反馈，里面没有换模型。换模型是 529 过载的建议，因为容量按模型分别计算。500 时切到 Sonnet 后恢复，可能只是恰好错开了故障，不能说明原模型或账号有问题；任务允许时可以试，但别把它当成排查结论。

### 登录 Claude Code 时报 500，需要重装吗？

不需要先重装。登录这一步的 500 先看 Claude Status 有没有登录相关事故，然后 `/logout`、关闭、重新运行 `claude` 登录；在 WSL2、SSH 或容器里改用粘贴登录码或 `claude auth login`。同一账号在别的机器能登录时，再查本机防火墙、代理和回调端口。

### Claude Code 529 是用量上限吗？

在[官方 Claude Code 的 529 分支](https://code.claude.com/docs/zh-CN/errors)中不是：它表示服务暂时过载，也不计入个人额度。真实用量上限会显示 session、weekly 或模型家族限制及重置时间；自定义网关的返回还需看服务商说明。

### 响应可能不完整，能直接输入 continue 吗？

可以用 `continue` 从最后完成的内容块继续，但包含文件、命令或外部写入的任务应先核对结果。[Claude Code 会保留已完成内容并执行完整工具调用](https://code.claude.com/docs/en/errors#the-response-above-may-be-incomplete)，所以不要把报错理解成此前什么都没执行。

### claude --resume 找不到会话，换目录就能解决吗？

不一定。v2.1.223 起按 ID 查找已覆盖本机其他项目；还要检查 ID、运行机器和记录保留情况。交互选择器可用 `Ctrl+A` 扩大项目范围，但 `-p` 与 SDK 会话不会显示在其中，应使用原 JSON 的 `session_id`。[当前查找条件](https://code.claude.com/docs/en/errors)与旧版不同。

### 恢复会话后，还需要重新跑测试或部署吗？

先查现有结果。测试仍在运行就等待，已完成就读报告；部署已被远端接收就查现有 deployment ID。只有确认未完成、仍在原授权范围内的步骤才继续，不能用恢复会话代替执行结果核对。

## 参考来源

本文引用的外部页面，按正文出现顺序排列。最后更新于 2026-10-05。

- [官方错误说明](https://code.claude.com/docs/zh-CN/errors) (code.claude.com)
- [API 错误参考](https://platform.claude.com/docs/en/api/errors) (platform.claude.com)
- [Claude Status](https://status.claude.com/) (status.claude.com)
- [#33226](https://github.com/anthropics/claude-code/issues/33226) (github.com)
- [#44271](https://github.com/anthropics/claude-code/issues/44271) (github.com)
- [#44725](https://github.com/anthropics/claude-code/issues/44725) (github.com)
- [官方登录与认证排查](https://code.claude.com/docs/zh-CN/troubleshoot-install) (code.claude.com)
- [Claude Status 历史](https://status.claude.com/history) (status.claude.com)
- [自动重试规则](https://code.claude.com/docs/en/errors) (code.claude.com)
- [稳定性排查](https://code.claude.com/docs/es/troubleshooting) (code.claude.com)
- [#58827](https://github.com/anthropics/claude-code/issues/58827) (github.com)
- [#70650](https://github.com/anthropics/claude-code/issues/70650) (github.com)
