用 Claude Code 的 Pro/Max 订阅跑长任务的人应该都遇到过这个场景:5 小时窗口一到,正在跑的子 Agent 全部失败;额度重置以后回来发一句"继续",主 Agent 把同样的任务重新派一遍,之前做了一半的活作废,额度再花一次。
我一直觉得这是偶发的,直到把自己 6 个会话的记录翻了一遍:
- 449 个子 Agent 被限额打断
- 只有 8 个被按 ID 叫醒,而且全是在重置之前叫的,所以又失败了一次
- 438 个从头重做
信息其实都在本机
死掉的子 Agent 并没有丢。Claude Code 把每个子 Agent 的记录存在 ~/.claude/projects/<项目>/<会话>/subagents/agent-<id>.jsonl,里面有它的原始任务、改过的文件、最后几步。一个停掉的子 Agent 用 SendMessage <id> 就能带着完整上下文接着干。问题只是:没有任何东西告诉主 Agent 应该这么做,它看到的只是一堆 “failed”。
重置时间也一样。界面上只显示 “resets 8pm”,但 transcript 里那条 error: "rate_limit" 记录带着 quotaLimits.resetsAt,精确到秒。状态栏脚本收到的 JSON 里有 rate_limits.five_hour 和 rate_limits.seven_day,各带 used_percentage 和 resets_at。
Claude Code 自带的 auto-continue 覆盖的范围比想象中小:只续跑主对话、只在交互式会话里、只在重置不到 24 小时时。无人值守的 claude -p、周限额、撞限额那一刻正在跑的子 Agent,都不管。
于是写了个小工具
agent-limit-retry 就是把上面这些信息读出来,在正确的时刻告诉 Agent 该做什么。一个 Claude Code 插件里的四个 hook,加一个状态栏转接:
安装一条命令,重启一次 Claude Code:
npx agent-limit-retry
alr selftest # 本地假接口模拟一次撞限额 + 自动续跑,不花额度
alr status # 两个窗口的用量和重置时间

全部在本机运行:不走代理、不需要账号、不联网、不轮换账号。它不能提高额度,只是帮你把已经付了钱的套餐用干净。
基础部分开源 MIT:https://github.com/error0702/agent-limit-retry
子 Agent 按原 ID 续跑那部分(判断撞限额那一刻哪些子 Agent 真的在跑、排除 Claude Code 自己已经报告过的、等限额真的重置之后再让主 Agent 按 ID 叫醒;Claude Code / Codex / ZCode 都支持)是付费的 Pro 版,$29 一次性含源码:https://retry.autorun.fun
要求 Node.js 18+,Claude Code 2.1.234+。撞过限额之后 alr report 能生成一份不含对话和代码的反馈文件,有问题欢迎发 issue。
网硕互联帮助中心





评论前必须登录!
注册