◉CLAUDE LABEN
●2.1.292 — Claude Code 2.1.292(10月6日)。cloud session が許可プロンプトへの回答を落とす不具合と、終了時に直近メッセージが失われる不具合を直しました●MODELS API — thinking を無効にできるモデルかどうかを、Models API の capabilities で確認できるようになりました(10月)●11/30 — Sonnet 4.5 の Claude API 提供終了まで残り54日。移行先は Sonnet 5.5 で、呼び出し側の確認点は thinking の指定と tool_choice です●MODS — Claude Code の Mods をどう安全に入れるか、という手順の記事が Zenn に出ています。論点は導入前に確認する項目と戻し方です●NEW — Pro を払ったのに無料のままに見えるとき、買った場所が Web かストアかで見る画面が変わります。その切り分けをまとめました●THINKING — Sonnet 5.5 の thinking ブロックは、作ったアカウントでしか使えません。別のアカウントから送ると黙って落とされます●2.1.292 — Claude Code 2.1.292(10月6日)。cloud session が許可プロンプトへの回答を落とす不具合と、終了時に直近メッセージが失われる不具合を直しました●MODELS API — thinking を無効にできるモデルかどうかを、Models API の capabilities で確認できるようになりました(10月)●11/30 — Sonnet 4.5 の Claude API 提供終了まで残り54日。移行先は Sonnet 5.5 で、呼び出し側の確認点は thinking の指定と tool_choice です●MODS — Claude Code の Mods をどう安全に入れるか、という手順の記事が Zenn に出ています。論点は導入前に確認する項目と戻し方です●NEW — Pro を払ったのに無料のままに見えるとき、買った場所が Web かストアかで見る画面が変わります。その切り分けをまとめました●THINKING — Sonnet 5.5 の thinking ブロックは、作ったアカウントでしか使えません。別のアカウントから送ると黙って落とされます
記事一覧/API & SDK
⬡ API & SDK/2026-06-15中級

Claude に最新ページを直接読ませる — web_fetch ツールの実装と落とし穴

Claude API の web_fetch ツールで、公式ページや PDF の本文をそのままコンテキストに取り込む実装手順です。URL を勝手に作らせない検証の仕組み、トークンを溶かさない設定、200 で返るエラーの処理まで、個人開発の自動運用で実際に踏んだ判断を共有します。

Claude API125web_fetchサーバーツールコスト管理14自動化パイプライン

✦ プレミアム記事

スケジュール実行で「Claude Code の直近の変更点を3行で要約して」と投げたところ、返ってきたのは数ヶ月前の機能を並べた、それらしいけれど古い要約でした。モデルは学習時点の知識で答えるので、これは想定どおりの挙動です。問題は、古いと気づかずに記事の下書きへ流れていきそうになったことでした。

公式の変更履歴ページは毎週のように更新されます。そこを Claude 自身に読ませてしまえば、要約は常に最新の本文に基づきます。これを叶えるのが web_fetch ツールです。Web 検索ではなく、こちらが指定した URL の本文(および PDF)を丸ごと取得してコンテキストに載せる、サーバー側で実行される道具です。

私自身、Dolice Labs で複数のサイトを個人開発で自動更新しているのですが、「公式ページの一次情報をそのまま読む」工程を入れてから、生成の事実誤りが目に見えて減りました。ここでは、その組み込みで実際につまずいた点を中心にまとめます。

web_fetch と web_search は役割が違う

最初に混同しやすいのが web_search との違いです。web_search は「クエリで世界中を検索して候補を集める」道具で、web_fetch は「すでに分かっている1枚のページを開いて全文を読む」道具です。

判断はシンプルで、コンテキストに URL が出ているなら fetch、まだ URL が分かっていないなら search という分け方になります。Claude は次のような時に fetch を選びます。

  • ユーザーメッセージや直前のツール結果に URL が含まれている
  • 特定のページ(ある記事・README・料金ページ等)を名指ししていて、かつ web_search も有効になっていて先に検索で探せる

逆に、「REST API 設計のベストプラクティスは?」のような一般的な問いでは fetch は走りません。特定のページを指していないからです。この線引きを理解しておくと、「URL を渡しているのに fetch してくれない」「逆に毎回検索に行ってしまう」といった挙動の食い違いを切り分けやすくなります。

まずは最小実装で動かす

Python SDK での最小構成は驚くほど短いです。ツール配列に web_fetch を1つ足すだけで、取得から読解までモデル側が引き受けます。

import anthropic
 
client = anthropic.Anthropic()
 
resp = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "次のページの要点を3つにまとめてください: "
                       "https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool",
        }
    ],
    tools=[
        {
            "type": "web_fetch_20250910",
            "name": "web_fetch",
            "max_uses": 3,
        }
    ],
)
 
for block in resp.content:
    if block.type == "text":
        print(block.text)

ベータ機能のため、環境によってはベータヘッダ web-fetch-2025-09-10 を付ける必要があります。SDK のバージョンが新しければツール定義を渡すだけで通ることもありますが、unsupported 系のエラーが返るときは、まずヘッダの有無を疑うのが早道です。

ここで覚えておきたいのは、web_fetch がサーバーツールである点です。tool_use を受け取ってこちらが実行して結果を返す、いわゆるクライアントツールとは違い、取得そのものは Anthropic 側で完結します。こちらのコードでは HTTP リクエストを書きません。その代わり、後述するように「どの URL を読ませるか」の制御責任がこちら側に残ります。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦web_fetch_20250910 / web_fetch_20260209 の使い分けと、最小実装からレスポンスの読み方まで
✦URL は会話に出ていないと取得できないという検証仕様と、それを前提にした安全な組み込み方
✦max_content_tokens・allowed_domains・max_uses でトークンと攻撃面を抑える本番設定の指針
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ API & SDK2026-05-02
Claude API の月額予算が見直ししない設計 — 個人開発者のための実践コスト管理
個人開発で Claude API を組み込んだとき、最初にぶつかるのは月末の請求書です。月額予算を守り抜くための見積もり・モニタリング・アラート・実装パターンを、自分のアプリで試した数字と一緒にまとめました。
⬡ API & SDK2026-10-07
モデルを切り替える前に、自分の呼び出しの形を候補モデルへ1トークンで再生する
モデルIDを書き換えて本番を回すと、400 は最初のリクエストで返ります。thinking の指定や tool_choice など自分の呼び出しの形を、max_tokens 16 の再生で先に確かめる小さな仕組みを書きました。
⬡ API & SDK2026-09-28
Claude が 529 を返した夜、頼みのフォールバック先まで落ちました — cache_control は境界で剥がす
Claude API のフォールバック先で TypeError が出た原因は、cache_control 付きの content block をそのまま他社モデルへ渡していたことでした。境界で剥がす関数と送る直前の検問、そして発火する前にフォールバック経路を試す運用を書き残します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます