3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code の WebFetch は、長いページの10万字より後ろを読まずに「書いていない」と答えていた

3
Last updated at Posted at 2026-10-06

Claude Code 2.1.290(2026-10-05)の changelog に、こう書かれています。

Fixed WebFetch silently dropping page text past 100,000 characters; it now says how much
was unread and takes an offset to read on

WebFetch は、ページの10万字より後ろを黙って捨てていた。 公式ドキュメントは、2026-10-06 時点でもこれだけです。

Large pages are truncated to a fixed character limit before processing.

何文字で切るのかも、切ったと知らせるのかも書いていません。 36回測りました。

「このページに〇〇は書いてある?」と聞いた(各3回)

〇〇の位置          Claude Code 2.1.289        Claude Code 2.1.290
8.6万字目(対照)    3/3 Yes                    3/3 Yes
12.5万字目           3/3 No(実際は書いてある)   3/3 Yes
30.1万字目           3/3 No(実際は書いてある)   3/3 Yes

直った版は全部読んで正しく答えるが、費用は約6倍

検証環境: Windows 10 / Claude Code 2.1.289 と 2.1.290 を隔離導入 / claude -p /
--tools WebFetch / 本体モデルは Opus 5.5 / 全ラン設定ディレクトリ使い捨て(コールド) / 測定は 2026-10-06


測り方

読ませるのは Claude Code 自身の CHANGELOG.md(GitHub の raw、コミット固定)です。
930,527字あり、上限の9倍以上。プレーンテキストなので、HTML から Markdown への変換は挟まりません。

聞いたのは位置が分かっている内容です。どれもファイル中に1回だけ出てきます。

  • 「〇〇は書いてある?」: disableWorkflows(8.6万字目・対照)/ maxProseWidth(12.5万字目)/ bashOutputMaxChars(30.1万字目)
  • 「見出しの最初の項目は?」: ## 2.1.286(5.9万字目・対照)/ ## 2.1.283(11.0万字目)/ ## 2.1.261(30.1万字目)

--tools WebFetch で Claude が使えるツールを WebFetch だけにし(ドメインは --allowedTools で許可)、WebFetch が Claude に返した文面を stream-json で記録しました。


「書いてある?」と聞くと、10万字より後ろは「書いていない」になった

Claude Code 2.1.289 は、10万字より後ろにある語を6回とも「No」と答えました。

WebFetch が Claude に返したのは、たとえばこれだけです。

The document does not mention "maxProseWidth".

切ったという通知はありません。 要約役のモデルが受け取った前半には、実際に書いていません。

Claude の最終回答も6回とも「No」で始まり、4回は「長いファイルは一部しか読めないことがある」という一般論を添えただけでした。
残り2回は「読めた範囲では」と断っています。


見出しを指定して聞くと、古い版でも「取れなかった」と言えた

見出しの位置 Claude Code 2.1.289 Claude Code 2.1.290
5.9万字目(対照) 3/3 正解 3/3 正解
11.0万字目 0/3(3回とも「取れなかった」) 3/3 正解
30.1万字目 0/3(3回とも「取れなかった」) 3/3 正解

こちらは作り話をしませんでした。 新しい版から並ぶので、2.1.284 の途中で切れていれば 2.1.283 が無いのはおかしいと分かります。
途切れた箇所を引用した4回は、どれも Fixed a failed first `claude plugin で終わっていました。先頭からちょうど10万字です。

違いは質問の形でした。 「〇〇の下は?」では無いことに気づけましたが、「〇〇は書いてある?」は無いこと自体が答えになります。


直った版は「どこまで読んだか」を返す

Claude Code 2.1.290 では、要約役の答えの下にこの通知が付きます。

[WebFetch note: this page's text is 930527 characters long and the answer above covers only characters 0 to 100000; the final 830527 were not read — to read on, call WebFetch again with the same url and offset: 100000.]

要約役の答え自体は今も「見つからない」です。 違うのは通知が付くことで、Claude はそれを見て offset を変え、続きを読みに行きました。

10万字より後ろの語を聞いた6回は、見つけても止まらず、10〜11回で最後まで読みました。


その分、費用は約6倍になる

10万字より後ろの語、6回ずつの中央値です。

答え 取得回数 費用 API時間
Claude Code 2.1.289 No(誤り) 1〜2 $0.051 7.7秒
Claude Code 2.1.290 Yes(正しい) 10〜11 $0.314 29.2秒

正しく答える代わりに、費用は約6倍、時間は約3.8倍。 直った版の費用の約7割は要約役のモデル(claude-haiku-4-5-20251001)の分です。
前半にあれば1回で止まり、8.6万字目の対照は $0.052 → $0.055 でほぼ同じでした。


ドキュメントは「聞き方」を疑えと書いている

The extraction prompt determines what reaches Claude, so a result that says a page doesn't mention
something may only mean the prompt didn't ask about it.

「書いていない」の原因を、聞き方に置いています。 今回は聞き方ではなく、そもそも読んでいませんでした。


言えないこと

  • 測ったのは 2026-10-06 の1日、各3回、ページは1つ。 ベンチマークではありません
  • HTML のページは測っていません(10万字が変換の前か後かも不明)
  • WebFetch しか使えないようにしています。 普段は Claude が curl で全文を取ることもあります
  • 最後まで読むかは Claude の判断です。 聞き方次第で途中で止まるかもしれません
  • 費用は total_cost_usd。プランで請求は異なります

まとめ

  • Claude Code 2.1.289 の WebFetch は先頭10万字しか読まず、切ったという通知も付かなかった
  • 「〇〇は書いてある?」と聞くと、10万字より後ろの語は6回とも「No」になった
  • 見出しを指定する聞き方なら「取れなかった」と言えた。 危ないのは「無い」が答えになる質問
  • Claude Code 2.1.290 は続きを読んで正しく答えた。 ただし全部読むと費用は約6倍

長いページで「書いていない」と言われたら、まず Claude Code 2.1.290 以降に上げるのが先です。
上げたあとは、長いページへの「〇〇はある?」は費用がかさみます。


関連記事


JQITのエンジニアの95%以上は未経験からの採用です。
よければコーポレートサイトにも遊びに来てください。

▶ コーポレートサイト

エンジニア採用も行っています。もしご興味あれば覗いてみてください。

▶ 採用サイト

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?