在 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 · USAGE LIMIT

使用量限制是“两层楼高”

— 只要撞到其中一层就会停下

① 5小时窗口(session limit) 从第一个提示起约5小时后自动重置
达到 100% → resets 3:45pm
② 每周窗口(weekly limit) 每7天重置一次(全部模型共用)
已用 68%
③ 按模型的额度(Opus / Sonnet) 只有该系列的模型会停下
已用 88%(需注意)

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日确认)。

2-TIER LIMITS

两个窗口各自独立生效

① 滚动的5小时窗口(session limit)
第一个提示打开窗口,之后约5小时都从中消耗。约5小时后自动重置,下一个“第一个提示”再打开新的窗口。既不是固定的钟点,也不是按天——而是滚动的。
② 每周窗口(weekly limit,全部模型)
每7天重置一次的每周总量上限。提示里会带星期或日期,例如 resets Mon 12:00am,重置可能在几天之后。可在 Settings → Usage 或 /usage 中查看下次重置。
③ 按模型的每周额度(Opus / Sonnet)
有些账号在全部模型共用的额度之外,还有分别针对 Opus 系列和 Sonnet 系列的每周额度(在 /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,就能在一个菜单里看到这些选项:等待并自动继续、添加使用量额度、升级套餐(它不会出现在命令候选列表里,需要完整输入)。

5 OPTIONS

撞到上限时的对策

A · 换模型
只对 Opus limit/Sonnet limit 有效。用 /model 换到其他系列的模型。会话额度和每周额度由全部模型共用,换了也恢复不了。
B · 精简上下文
用 /compact//clear 减少每轮的消耗,让下一个窗口撑得更久。
C · 等待重置
等到 resets 显示的时间。v2.1.234 起,保持打开的会话会自动继续任务。
D · 切换到 API
如果连每周窗口都用完又等不了,就用 API key(按量付费)继续——没有需要等待的窗口重置。
E · 增加额度
通过 /usage-credits 使用使用量额度(标准 API 价格),或用 /upgrade 升级套餐。
Opus/Sonnet 额度?A。
会话额度?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 会显示套餐、剩余用量和每周重置日期。在重度工作前先确认一次,就能提前避免撞到上限。