WebFetch 读长网页不再悄悄截断:超 10 万字符会提示并支持 offset 续读
让 Claude 读一份很长的 API 文档、一整页更新日志或者一篇长技术博客时,你可能碰到过这种奇怪的情况:前半部分它讲得头头是道,问到后半部分的内容,它却说「页面里没有提到」或者开始瞎猜。
CLI 2.1.290 修掉了背后的原因:WebFetch 以前会把网页 100,000 字符之后的内容悄悄丢掉,而且不告诉 Claude。
以前的坑在哪
WebFetch 是 Claude Code 抓取网页内容的工具。网页文本超过 10 万字符时,旧版本只把前面一段交给 Claude,后面的直接不要了,而且没有任何提示。
结果就是 Claude 以为自己读完了整页:
- 文档后半部分的接口、参数,它说不存在;
- 更新日志只看到最新的几个版本,更早的变更被当成没有;
- 长文章的结论部分被跳过,总结只覆盖了开头。
「静默」才是最麻烦的地方:用户和 Claude 都不知道内容少了,排查时很难想到是工具截断。
2.1.290 之后的表现
- 内容超过 100,000 字符时,WebFetch 会明确说明还有多少没读。
- WebFetch 新增
offset参数,Claude 可以从指定位置接着往后读,分几次把长页面读完。
也就是说,Claude 现在知道「我只读了一部分」,需要时能自己决定续读,而不是带着残缺信息回答。
读长文档时怎么用
一般不用你手动做什么,Claude 看到「还有内容未读」的提示后会按需续读。想确保读全时,可以在提示里说清楚:
text
读一下这个页面的完整内容,如果提示有未读部分,用 offset 继续读完,再回答我的问题:
https://example.com/very-long-docs几点建议:
- 只关心某一节时,直接告诉 Claude 要找什么,让它读到相关内容就停,省 token 也省时间。
- 需要全文时,比如做完整摘要、对比所有接口,明确要求「读完全部内容再总结」。
- 页面特别大时,如果有对应的 Markdown 版本、原始文件或分页链接,优先给这些地址,比读一整页渲染后的 HTML 更干净。
- 团队禁止抓取网页的话,WebFetch 本身可能被关掉,参考 CLAUDE_CODE_DISABLE_WEB_FETCH。
怎么确认自己已经不受影响
claude --version确认 ≥ 2.1.290。- 找一个明显超过 10 万字符的页面(比如一个很长的 CHANGELOG),让 Claude 回答页面末尾的问题。
- 新版本里,Claude 应该会提到内容较长、需要续读,或者直接续读后给出正确答案。
小结
- 旧版 WebFetch 会静默丢掉 100,000 字符之后的网页内容,Claude 不知道自己没读全。
- 2.1.290 起会说明未读多少,并支持
offset续读。 - 读长文档时,在提示里说清楚「只看某节」还是「读完全文」,结果会更稳。
以前觉得 Claude「读长网页不靠谱」的地方,有不少其实是这个截断造成的,升级后值得再试一次。