はじめに
Anthropic の Claude Console に、組織単位で web fetch を無効化し、許可・ブロックするドメインを設定できる機能が追加されました。組織管理者が Capabilities ページから設定します。
この変更で特に注意が必要なのは、web fetch をオフにすると、web fetch ツールを含む Messages API リクエストが 400 エラーになる点です。すでに本番で web fetch を使っているアプリが、管理者の設定変更ひとつで突然失敗する可能性があります。
あわせて、Claude Managed Agents の web_fetch も組織のドメイン制限に従うようになりました。
📌 影響を受ける人
- Messages API で web fetch ツールを使っているアプリ開発者
- Claude Managed Agents で
web_fetchを使っているエージェント開発者- 組織の Claude Console を管理している管理者(セキュリティ・情報システム部門など)
変更の全体像
変更は3点です。
| # | 内容 | 重要度 |
|---|---|---|
| 1 | 組織単位の web fetch オン/オフ、およびドメイン設定 | high |
| 2 | Managed Agents の web_fetch が組織のドメイン制限に従う | medium |
| 3 | web search 組織設定の記載整理(適用開始日の明記) | low |
変更内容
1. 組織単位で web fetch を無効化できる(high)
Claude Console の Capabilities ページに、web fetch の組織単位のオン/オフ設定が追加されました。
オフの場合の挙動
| 利用形態 | 挙動 |
|---|---|
| Messages API | web fetch ツールを含むリクエストは 400 エラーで失敗 |
| Claude Managed Agents | リクエスト失敗にはならず、web_fetch の呼び出しがエージェントへのエラー結果として返る |
オンの場合は、同じページで web fetch の許可ドメインまたはブロックドメインも設定できます。
⚠️ Breaking Change
管理者が web fetch をオフにすると、web fetch ツールを使う既存の API 呼び出しが突然 400 エラーになります。コードの変更なしで失敗し始めるため、アプリ側のエラー処理と組織設定の確認が必要です。
2. Managed Agents の web_fetch が組織のドメイン制限に従う(medium)
Managed Agents の web_fetch ツールは、Console で設定した組織のドメイン制限を適用するようになりました。
- アクセスする URL は、組織のドメインリストと、エージェントの
web_fetchツールに設定したallowed_domainsまたはblocked_domainsの両方を満たす必要があります - リダイレクト先の URL にも同じチェックがかかります
つまり、エージェント側で許可していても、組織側でブロックされていれば取得できません。
💡 Tips
「エージェントで許可しているのに取得できない」場合は、まず組織側のドメイン設定を疑ってください。エージェント側の設定だけを見ても原因は分かりません。リダイレクトを多用するサイトも、リダイレクト先が組織側でブロックされていると失敗します。
3. web search 組織設定の記載整理(low)
Managed Agents の web search に関する記載が整理され、適用開始日が明記されました。機能自体に新しい変更はありません。
| 設定 | 適用開始日 |
|---|---|
| 「Allow web search」設定 | 2026年10月6日 |
| web search のドメイン制限 | 2026年10月14日 |
エージェントが受け取る検索結果は、組織のドメイン制限と、エージェントの web_search ツールに設定した allowed_domains / blocked_domains の両方が許可したものだけです。web fetch と同じ考え方です。
影響と対応
開発者がやること
-
Console の Capabilities ページを確認する
web fetch が組織でオンになっているか、ドメイン制限がどう設定されているかを確認します。 -
400 エラーのハンドリングを実装する
web fetch ツールを含むリクエストが 400 で失敗した場合に、原因が組織設定の可能性があることを判別できるようにします。 -
Managed Agents のエラー結果を想定する
リクエスト自体は失敗せず、ツール結果としてエラーが返ります。エージェントが取得失敗をどう扱うか(再試行、代替手段、ユーザーへの通知)を設計しておきます。 -
ドメイン設計を二重で見直す
組織のリストとエージェントのallowed_domains/blocked_domainsの AND 条件になるため、両方を管理対象にします。
管理者がやること
- web fetch をオフにする前に、利用中のアプリやエージェントがないか開発チームに確認する
- ドメイン制限を変更する場合は、変更を開発チームへ周知する
対応判断フロー
コード例
以下は考え方を示す概念的なサンプルです。公式ドキュメントのコードではなく、提供された仕様(オフ時は 400 エラー)に基づいています。エラーの詳細な形式や判別方法は公式ドキュメント(「Web fetch tool」「Domain filtering」)で確認してください。
Before: エラー処理なし
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="your-model-id",
max_tokens=1024,
tools=[{"type": "web_fetch_20250910", "name": "web_fetch"}],
messages=[{"role": "user", "content": "このURLの内容を要約して"}],
)
管理者が web fetch をオフにすると、この呼び出しは 400 エラーで例外になり、アプリが落ちる可能性があります。
After: 400 エラーを想定したフォールバック
import anthropic
client = anthropic.Anthropic()
def ask_with_fetch(prompt: str):
try:
return client.messages.create(
model="your-model-id",
max_tokens=1024,
tools=[{"type": "web_fetch_20250910", "name": "web_fetch"}],
messages=[{"role": "user", "content": prompt}],
)
except anthropic.BadRequestError as e:
# 400: 組織設定で web fetch が無効の可能性がある
log.warning("web fetch リクエストが 400: 組織の Capabilities 設定を確認してください: %s", e)
# ツールなしで再試行する、または利用者に通知する
return client.messages.create(
model="your-model-id",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
⚠️ 注意
400 は他の入力不正でも発生します。上のようにツールなしで再試行する場合は、エラー内容をログに残し、組織設定が原因かどうかを切り分けてください。ツール定義のtypeなど細部は利用中の SDK・ドキュメントに合わせてください。
CLAUDE.md への追記例
## ツール利用 / Web fetch
- 組織管理者が Console の Capabilities ページで web fetch を無効化できる
- 無効時、Messages API は 400 エラー、Managed Agents はエラー結果を返す
- web fetch 利用時は 400 エラーの処理を実装し、組織設定を確認する
- Managed Agents の web_fetch のドメイン判定は「組織のリスト AND エージェントの allowed_domains/blocked_domains」で、リダイレクト先も判定対象
まとめ
- Console の Capabilities ページで、組織単位の web fetch オン/オフと許可・ブロックドメインを設定できるようになった
- オフにすると Messages API は 400 エラー、Managed Agents はエラー結果をエージェントに返す
- Managed Agents の
web_fetchは組織リスト AND エージェント側リストの両方を満たす URL だけ取得でき、リダイレクト先も判定される - web search の組織設定は、「Allow web search」が 10月6日、ドメイン制限が 10月14日から適用済み(機能の新規変更なし)
- 開発者は 400 エラー処理と組織設定の確認を、管理者は変更前の周知を行う
コードを変えなくても、組織設定の変更だけで動作が変わる点が今回のポイントです。Console の設定と、アプリ側のエラー処理を一度見直しておくことをおすすめします。