Read 可一次读超限的文本

Claude Code 2.1.296 给 Read 工具加了 allow_large。需要整份文本、而且上下文还放得下时,可以一次读过通常的体积上限。说明没有写出原来的上限数字,也没有写二进制文件。@ 提及超过 256KB 仍是另一条规则。

Read 可一次读超限的文本

大文本以前会被 Read 按体积拦住,只能分段。Claude Code 2.1.296 给 Read 加了 allow_large。claude code read allow_large 的条件写在同一句里:Claude 需要整份文件,而且当前上下文还有空位,就可以一次读过通常的体积上限。对象是文本文件。

作者:CodePass 技术编辑

两个条件都要成立

发行说明没有给出「通常上限」的字节数。低于 2.1.296 时,这个选项不存在,把字段名写进旧版提示里不会出现新行为。升级之后,是否带上 allow_large 由模型在这次工具调用里决定。说明没有写用户可以在设置里把它设成永远打开。

上下文没有空位时,这一句不保证读入成功。它绕不开窗口本身。自定义接口仍停在 20 万、需要 /autocompact 200k 的情况,见 自定义接口上下文。allow_large 只放宽 Read 这一次的体积检查,不把网关的窗口改大。

二进制、图片、PDF 不在这句的主语里。PDF 的 pages 写成列表时的报错,是 2.1.292 的另一条,不要用 allow_large 去解释。

和 @ 提及的 256KB 各看各的

在提示里用 @ 点一个超过 256KB 的文本,2.1.292 起会告诉模型文件有多大、应分段读,不再静默丢掉。那条见 @ 文件 256KB。allow_large 是 Read 工具自己的选项,发生在模型已经决定去读文件之后。@ 没把全文塞进提示,不表示接下来的 Read 不能申请一次读完。

反过来,Read 带了 allow_large 仍失败时,先看报错是体积、权限,还是上下文不够。说明没有写失败时的原文。写作日没有拿一份超限日志对照这个选项。上下文快满时,模型仍可能分段读,即使 allow_large 可用。说明把「上下文还有空位」写成条件,没有写空位按 token 还是按字符计算。一次读入的文本仍会计入这一轮的上下文,后面的工具结果会更挤。需要整份文件、又怕把窗口占满时,让模型先说明文件有多大,比直接要求一次读完更稳。这个取舍不在发行说明里,是使用上的边界。

参考资料