目录
在 Claude Code 里刚刚进入状态,突然弹出这样一行让你停下来,你遇到过吗:
You've hit your session limit · resets 3:45pm
也就是说,你已经暂时用完了当前套餐所允许的额度。这既不是错误也不是 bug,而是订阅(Pro / Max 等)使用量限制的设计方式。官方错误参考按照用完的是哪一种额度,列出了以下4种(时间仅为示例):
You've hit your session limit · resets 3:45pm
You've hit your weekly limit · resets Mon 12:00am
You've hit your Opus limit · resets 3:45pm
You've hit your Sonnet limit · resets 3:45pm
旧版本的文字是 Claude usage limit reached. Your limit will reset at 3pm (America/Santiago).(文字的变化见第1节)。让人头疼的地方在于,撞到的是哪种额度、什么时候恢复、在恢复之前能做些什么并不直观。本文将基于官方文档,梳理4种提示的含义、限制的二层结构(5小时+每周)、什么在吞噬额度、撞到上限的那一刻该怎么办、如何查看剩余额度,以及 API 这条退路。
先给出3个结论。① session limit 是滚动的5小时窗口,weekly limit 是每周窗口,两者都由所有模型共用——换模型也恢复不了。② Opus limit/Sonnet limit 只针对该系列模型,所以用 /model 换到其他系列的模型就能继续工作。③ 如果能等,Claude Code v2.1.234 及以后的版本可以在重置后自动继续任务。如果不能等,就改用使用量额度(usage credits)或按量付费的 API。各套餐的具体额度会随时期变化,因此数值请务必在最新的官方界面(/usage 或 Settings → Usage)中确认。
使用量限制是“两层楼高”
— 只要撞到其中一层就会停下
Claude Code 与 Claude 应用(web/desktop)共享同一套餐的额度。
* 仪表数值仅为示意。实际剩余量请用 /usage 与 Settings → Usage 确认。
1. 提示的含义——session、weekly、Opus、Sonnet
现在的提示形如 “You've hit your [X] limit · resets [时间]”(“你已达到 [X] 的上限 · [时间]重置”),会直接点名用完的是哪一种额度。根据官方文档,Claude Code 会在显示的重置时间之前拦下后续请求。时间是你的本地时间;在官方仓库的问题报告里,常能看到括号里附带时区,例如 resets 4:20am (Europe/Rome)。
| 提示 | 用完的额度 | 换模型能否继续 | 第一步 |
|---|---|---|---|
You've hit your session limit | 滚动的5小时窗口(全部模型共用) | 不能 | 等待重置(自动继续),或使用使用量额度 |
You've hit your weekly limit | 每周窗口(全部模型共用);重置可能在几天之后 | 不能 | 用 /usage 确认重置时间,再从等待、使用量额度、API、升级中选择 |
You've hit your Opus limit | 仅限 Opus 系列的额度 | 能(换到非 Opus 模型) | 用 /model 换到 Sonnet 等模型 |
You've hit your Sonnet limit | 仅限 Sonnet 系列的额度 | 能(换到非 Sonnet 模型) | 用 /model 换到 Sonnet 以外的模型 |
关键在于,这是设计如此,而非故障。 Claude 的 Pro / Max 套餐并非“无限量”——每个时间窗口、每周都有用量上限。而且 Claude Code(CLI)与 Claude 应用(web/desktop)共享同一套餐的额度——官方帮助明确指出“两个工具中的所有活动都计入同一套使用量限制”。所以 “既用了聊天又跑了 Claude Code,两者合起来更快用完”是再正常不过的事。
同样的场景下还会出现另外两行。两者说的都是上面4种提示对应的同一批额度。
Usage limit reached · continuing automatically at 3:45pm · esc to cancel——Claude Code 正在等待,准备在重置后自动继续被中断的任务(v2.1.234 及以后;见第4节)You've used 85% of your session limit · resets 3:45pm——窗口用完之前的警告
反过来,下面这些提示并不表示你的5小时或每周额度用完了,因此处理方法不同。
API Error: Server is temporarily limiting requests (not your usage limit)——服务器端的短暂限流,与你的套餐无关。稍等片刻再试(v2.1.199 起会先自动重试再显示)You've hit your monthly spend limit · raise it at claude.ai/settings/usage——用于支付超出套餐部分的使用量额度达到了每月支出上限。提高上限,或者如果提示里写了套餐窗口的重置时间,就等到那时(Team / Enterprise 上会显示individual spend limit、org's monthly spend limit等)Usage credits required for 1M context——对100万 token 上下文窗口使用资格的检查,并非额度用完。用/model换回不带[1m]后缀的模型Request rejected (429)——API key 或云服务商一侧的速率限制(见第6节)
文字的变化——“Claude usage limit reached”是旧版本的文字
把用户贴在官方仓库 anthropics/claude-code 问题报告里的提示按时间排列,可以看出文字至少改过两次。CHANGELOG 里有“Usage limit notifications now easier to understand”(v2.0.51)这样的条目,但没有记录文字替换本身。
| 报告中常见的时期 | 提示 |
|---|---|
| 2025年 | Claude usage limit reached. Your limit will reset at 3pm (America/Santiago). |
| 2025年12月~2026年5月 | You've hit your limit · resets 10am (Europe/Kiev) |
| 2026年5月~现在 | You've hit your session limit · resets 1pm (Australia/Brisbane) 等(官方参考中的4种) |
2025年的报告里还常见一种把重置时间写成 Unix 时间戳数字的形式,例如 Claude AI usage limit reached|1749470400。如果你看到的仍是旧文字,用 claude update 更新后,提示会告诉你撞到的是哪种额度,还能用上自动继续(条件见第4节)。
2. 限制的二层结构——5小时+每周(+按模型的额度)
2025年8月,Anthropic 在原有的5小时窗口之外,为 Pro / Max 引入了每周使用量上限(起因是重度用户持续不停地运行)。结果,现在的订阅限制变成了两层楼。根据官方文档,用量会同时计入会话额度和每周额度,因此像大规模工作流并行展开这样一次性的重度使用,可能在会话窗口重置之前就把每周额度用完。
例外是 $200 的 Ultra(2026年10月31日由 Max 20x 更名)。根据 Anthropic 的帮助文章“What is the Ultra plan?”,通过验证的 Ultra 账号没有5小时窗口,只有每周额度(Pro 的10倍)和 Fable 的每周额度。验证由 Anthropic 根据账号和付款记录自动进行,完成之前会有临时的5小时上限。如果 Settings → Usage 中没有“Current session”进度条,就说明已通过验证,也不会出现 session limit 提示。$100 的 Max 在5小时和每周两方面都是 Pro 的5倍(见“What is the Max plan?”,均于10月31日确认)。
两个窗口各自独立生效
resets Mon 12:00am,重置可能在几天之后。可在 Settings → Usage 或 /usage 中查看下次重置。/usage 中以按模型的行显示)。用完时,提示会点名该系列,例如 You've hit your Opus limit,而且只有这种额度,用 /model 换到其他系列的模型就能继续。
各套餐的区别在于同一结构上的“倍率”:Pro < Max(5倍)< Ultra(每周10倍,通过验证后无5小时窗口)。
* 每周的具体小时数会随时间修订。不要把固定数值记死——请读取 Settings → Usage 的实际值。
作为最初(2025年8月)的指引,Anthropic 给出过诸如“Pro:每周约40-80小时的 Sonnet”“Max 20x(现在的 Ultra):每周约240-480小时的 Sonnet +约24-40小时的 Opus”这样的粗略估算。不过,此后 Anthropic 基本上已不再公布固定的小时数,限制也被反复修订(即便进入2026年,也有关于5小时窗口上调的报道)。因此请把这些数值当作“当时的估算”,并始终在官方用量界面中确认你当前的额度。本文也有意不去断言具体的现行数值。
3. 什么在吃掉你的额度
“比预想中更快用完”几乎都可归结为以下4点,按影响大小排序。
| 因素 | 为什么吃额度 | 有效对策 |
|---|---|---|
| ① 模型选择(最大因素) | Opus 的消耗远高于 Sonnet/Haiku。文档直言 Opus“会消耗显著更多的额度”。有些账号还另有分别针对 Opus 系列和 Sonnet 系列的每周额度 | 用 /model 把日常工作放到 Sonnet/Haiku 上;把 Opus 留给难题 |
| ② 上下文大小 | 每一轮都会重新处理整段对话+附件文件+工具定义+历史记录。越大,每轮消耗越多 | /compact、/clear、少附文件、缩小 CLAUDE.md |
| ③ 长时间、连续会话 | 一直挂着、无休止地循环。每周上限正是针对这种模式 | 用 /clear 把工作分段;停掉不必要的自动循环 |
| ④ 子智能体/MCP | 并行扇出和 MCP 服务器会增加工具定义和工具调用的流量 | 精简启用的 MCP 服务器。/usage 会显示按 MCP/子智能体的明细 |
简而言之,模型越重、上下文越大、运行越长越并行,额度就消融得越快。 反过来说,有意识地把这4点压下去,同一套餐能明显更耐用。 整体优化可参阅 AI 编程的成本优化,具体的省 token 技巧可参阅 Claude Code 的 token 节省。
4. 立刻继续工作的5种办法
撞到上限那一刻的5种办法,按情况区分。选哪一种,取决于“撞到的是哪种额度”(提示中的 session/weekly/Opus/Sonnet)和“能不能等”。在 Claude Code 中输入 /rate-limit-options,就能在一个菜单里看到这些选项:等待并自动继续、添加使用量额度、升级套餐(它不会出现在命令候选列表里,需要完整输入)。
撞到上限时的对策
Opus limit/Sonnet limit 有效。用 /model 换到其他系列的模型。会话额度和每周额度由全部模型共用,换了也恢复不了。/compact//clear 减少每轮的消耗,让下一个窗口撑得更久。resets 显示的时间。v2.1.234 起,保持打开的会话会自动继续任务。/usage-credits 使用使用量额度(标准 API 价格),或用 /upgrade 升级套餐。会话额度?C。等不了?D / E。
会话额度和每周额度由全部模型共用——换模型也恢复不了。会话窗口几小时后就会恢复,所以选 C;每周窗口也用完时,D 或 E 才是现实的答案。B 用来让下一个窗口撑得更久。
选项 C(等待)从 v2.1.234 起几乎是自动的。在用 claude.ai 订阅登录的交互式会话中,当使用量上限让 Claude 在任务中途停下时,Claude Code 会在打开的会话里等待,并在重置后继续任务。等待期间,会话底部会显示:
Usage limit reached · continuing automatically at 3:45pm · esc to cancel
重置时,它不会重发你的最后一条消息,而是给 Claude 发送一条固定指令,让它从停下的地方接着做。权限确认照常出现,所以你离开期间任务可能会停在某个确认上。要取消等待,在空提示下按 Esc;要彻底关闭自动继续,在 /config 中关闭 Continue automatically at usage limit。当重置在24小时以后(例如每周额度)时,Claude Code 不会自行开始等待,这时打开 /rate-limit-options 并选择 Wait here, then continue automatically。在桌面应用的 Code 标签页中,会话额度的卡片上有 Auto-continue when limits reset 复选框(每周额度的卡片上没有)。
把切换到 API(D)当作“退路”记在心里非常有用。与订阅的时间窗口不同,API 没有需要等待的5小时或每周重置(用多少付多少;不过有每分钟吞吐量限制和每月支出上限,见第6节)。原理请参见 什么是 AI API。在 Pro / Max 上,用 /usage-credits(旧名 /extra-usage)开启使用量额度后,即使超出套餐包含的额度,也能按标准 API 价格继续使用(官方帮助)。在 Team / Enterprise 上,同一条命令会向管理员发出申请。
5. 如何查看剩余额度
只要能看到“还剩多少”,就完全可以避免撞到上限。三种查看方式。
① Claude Code 的 /usage:显示套餐中每种额度的消耗和各自的重置时间(/cost 和 /stats 是它的别名)。在 Pro、Max、Team、Enterprise 上,还会显示按技能/子智能体/插件/MCP 服务器划分的明细(按 d/w 在最近24小时和7天之间切换;明细根据这台机器上的历史计算,因此不包括其他设备或 claude.ai 上的用量)。不过它不会显示是哪个会话用掉的(按会话查看用量的方法)。窗口用完之前,可能会出现 You've used 85% of your session limit · resets 3:45pm 这样的警告;你也可以把 rate_limits(5小时窗口和7天窗口的使用率与重置时间)一直显示在状态栏里。② Web/桌面应用:Settings → Usage 显示你的套餐、剩余用量以及每周重置日期;在桌面应用中,模型选择器旁边的用量圆环也能看到。③ API 用户:Console 的 Usage / Limits 页面,以及响应中的 anthropic-ratelimit-* 标头。/usage 的 Session 区块会显示根据 token 数计算的估算费用。注意,/status 显示的不是额度,而是你用哪个账号、哪种凭据连接(见第6节)。
养成会回报的习惯
在繁重工作前先跑一次 /usage,掌握你的剩余量和重置日期。在每周额度即将告急的那一周,从一开始就围绕 Sonnet 来安排,把 Opus 的余量留到关键时刻。
6. 订阅限制 vs API限制
这两者很容易混淆,但订阅(Pro/Max)限制和 API 限制是完全不同的体系。 弄清区别,关键时刻的切换决策就会很快。
| 维度 | 订阅(Pro / Max) | API(按量付费) |
|---|---|---|
| 限制单位 | 每个时间窗口的总量(5小时+每周,另有按系列的额度) | 每分钟吞吐量(RPM / 每分钟输入、输出 token),以及每个使用层级的每月支出上限 |
| 看到的提示 | You've hit your session limit · resets 3:45pm 等 | Request rejected (429) 等 |
| 达到上限时 | 锁定到重置为止(有使用量额度可继续) | 超出吞吐量会返回 429,等待 retry-after 秒后即可继续。达到每月支出上限时,暂停到下月1日 00:00 UTC |
| 如何提高 | 升级套餐、使用量额度 | 组织会根据使用历史自动升到更高的使用层级(Start、Build、Scale 等);也可以申请提高上限 |
| 适合对象 | 个人对话、日常编码 | 不能停的自动化任务、大批量处理 |
要点是:订阅按时间窗口把你停下,而 API 没有5小时窗口和每周窗口。因此对于真正不能停的截止期限工作,切换到 API key 是标准做法。切换后,用 /status 确认当前生效的凭据。环境变量里残留一个已批准的 ANTHROPIC_API_KEY 时,即使你本想用订阅,请求也会走这个 key。反过来,如果你以为自己在用订阅,却看到 Credit balance is too low,说明正在使用 Console 的 API key。解决方法详见Your credit balance is too low to access the Anthropic API 的含义与解决方法。API 的详细信息请参见官方速率限制页面。
7. 预防清单
一份杜绝“关键时刻用光”的运营清单。
① 默认用 Sonnet,只在难点处用 /model 切到 Opus(保留 Opus 的每周额度)。② 频繁使用 /compact//clear 让上下文保持轻量。③ 繁重工作前用 /usage 确认剩余量和重置日期。④ 停掉不必要的 MCP 和自动循环;只附上需要的文件。⑤ 有截止期限的日子,提前备好按量付费的 API(这样订阅用光也不会卡住)。⑥ 如果长期不够用,可考虑升级套餐,或把那部分工作负载迁移到 API。
总结
Claude Code 的 You've hit your session limit · resets 3:45pm(旧文字是 Claude usage limit reached)不是错误,而是订阅使用量限制的设计方式。提示会点名用完的额度:session 是滚动的5小时窗口,weekly 是每周窗口(两者都由全部模型共用,换模型也没用),Opus/Sonnet 是只针对该系列的额度。由于 Claude Code 与 Claude 应用共享同一套餐的额度,两者合起来可能更快用完。
消耗最大的是模型选择(Opus 最高),其次是上下文大小、长时间连续运行,以及子智能体/MCP。撞到上限时:Opus/Sonnet 额度用 A:换模型,会话额度用 C:等待重置(v2.1.234 起自动继续);等不了就 D:按量付费的 API / E:使用量额度或升级。B:精简上下文是为了让下一个窗口撑得更久。剩余额度可以通过 /usage 和 Settings → Usage 查看。另外,具体额度数值会随时期修订,不必死记,请在最新的官方界面确认。相关阅读:节省 token 与额外费用、Opus/Sonnet/Haiku 价格对比、Claude Code 错误汇总。
FAQ
Q. “You've hit your session limit”是 bug 吗?我可是付了钱的。
A. 这是设计如此,不是 bug。Pro / Max 等订阅并非“无限量”——每5小时(session)、每周(weekly)都有用量上限。即便付费,一旦超出该额度所覆盖的部分,也会被暂时暂停,到显示的 resets 时间就会恢复。注意 Claude Code 和 Claude 应用共享同一额度,两者都用会更快用完。
Q. 什么时候重置?显示的是“resets 3:45pm”。
A. 如果是 session limit,那就是5小时窗口的重置时间(你的本地时间)。weekly limit 会带星期或日期,例如 resets Mon 12:00am,可能在几天之后。各额度的重置时间可以在 /usage 或 Settings → Usage 中确认。如果连每周额度都用完了,可选的就是等待、使用量额度、切换到按量付费的 API,或升级套餐。
Q. 显示“Claude usage limit reached”有什么不同?
A. 那是同一使用量限制的旧文字。在官方仓库的报告中,2025年是 Claude usage limit reached. Your limit will reset at …,大约从2025年12月起是 You've hit your limit · resets …,大约从2026年5月起则是点名额度的 You've hit your session limit 等提示。如果你看到的仍是旧文字,用 claude update 更新后就能看出撞到的是哪种额度,还能用上 v2.1.234 起的自动继续。
Q. 为什么这么快就达到上限?
A. 最大的因素是模型选择。Opus 吃掉额度的速度远快于 Sonnet。此外,大上下文、长时间连续运行、大量使用子智能体或 MCP 都会推高消耗。用量同时计入会话额度和每周额度,所以并行运行这类持续的重度使用,也可能让每周额度提前用完。只要用 /model 把日常工作降到 Sonnet,再用 /compact 精简上下文,就能撑得久得多。
Q. 有没有不用等、马上继续的办法?
A. ① 如果是 You've hit your Opus limit/Sonnet limit,用 /model 换到其他系列的模型(会话额度和每周额度无效);② 用 /usage-credits 开启使用量额度(超出套餐包含的额度后按标准 API 价格继续);③ 切换到按量付费的 API key(没有5小时窗口和每周窗口);④ 用 /upgrade 升级套餐。如果是有截止期限的工作,事先准备好按量付费的 API 最稳妥。
Q. 能查看还剩多少吗?
A. 可以。在 Claude Code 中,/usage 会显示每种额度的消耗、各自的重置时间,以及按技能、子智能体、MCP 服务器划分的明细;把 rate_limits 放到状态栏就能随时看到。在 Web/桌面应用中,Settings → Usage 会显示套餐、剩余用量和每周重置日期。在重度工作前先确认一次,就能提前避免撞到上限。