Claude Code の Web Search が動かない? 4つの対処法と確実な代替手段

Claude Code の Web Search で「Permission denied」や「Did 0 searches」、あるいは完全に動かない問題に遭遇していますか? 4つの対処法に加え、壊れない外部検索の代替手段を紹介します。

by AnyCap

グリッチ効果と赤いエラー表示が入った壊れた検索アイコン — ダークなサイバーパンク風ターミナルの雰囲気

Claude Code の Web Search が動かない? あなただけではありません。 権限拒否、「Did 0 searches」という結果、何も起きないサイレント失敗など、Anthropic の組み込み WebSearch ツールは開発者にとって継続的なストレス要因になっています。この記事では、よくある4つの原因とそれぞれの対処法、さらに壊れない代替手段までまとめて解説します。


Claude Code の Web Search が壊れる理由

Claude Code のネイティブ WebSearch ツール (web_search) は、外部連携ではなく Claude モデル自体に組み込まれています。つまり壊れるときは、Claude の推論レイヤー内部で壊れるため、通常のツール障害よりデバッグが難しくなります。

特によくある失敗パターンは次の4つです。

問題 表示される症状 根本原因
Permission denied --permissionless モードでも「Permission denied」のポップアップが出る settings.json の競合、または Edit(*) の上書き
サイレント失敗 結果が出ず「Did 0 searches」と表示される API バグ、または blocked_domains: [] による不正なリクエスト
ツールが存在しない Tool web_search not found / 422 エラー モデルまたは API バージョンの不一致
別のツールが使われる Claude が Chrome connector や web_fetch を使おうとする モデルルーティングの問題

これらはあなたのせいではありません。いずれもドキュメント化されたバグで、中には GitHub 上で何か月も未解決のものもあります。


対処法 1: 権限設定を確認する

最も多い原因: settings.jsonpermissions ブロックが、気づかないうちに WebSearch をブロックしていることです。

手順 1: 設定ファイルを確認する

cat ~/.claude/settings.json

手順 2: 次のパターンを探す

問題あり — Edit(*) が WebSearch をブロック:

{
  "permissions": {
    "allow": ["Edit(*)"],
    "deny": []
  }
}

allow リストにある Edit(*) のワイルドカードが原因で、Claude Code が WebSearch のたびに権限確認を求め、バージョンによっては黙って拒否することがあります。

修正例:

{
  "permissions": {
    "allow": [
      "Edit(*)",
      "WebSearch(*)",
      "WebFetch(*)"
    ],
    "deny": []
  }
}

手順 3: 競合する deny ルールを確認する

deny ブロックに WebSearch(**)WebFetch(**) がある場合は削除してください。

// ❌ これは Web Search をブロックし、さらにプラグインの読み込みも壊します
{
  "permissions": {
    "deny": ["WebSearch(**)", "WebFetch(**)"]
  }
}

既知の GitHub バグ (#11812): permissions.deny に WebFetch/WebSearch を追加すると、すべてのプラグインが読み込めなくなります。設定変更後にプラグインが壊れたなら、これが原因の可能性が高いです。

手順 4: 設定を反映する

# 変更を反映するには Claude Code のセッションを再起動してください
# settings.json の変更にホットリロードはありません

対処法 2: Permissionless モードを試す(ただし注意点あり)

権限設定が原因でない場合は、Claude Code を permissionless モードで実行します。

claude --permissionless

ただし GitHub Issue #21091 に注意: permissionless モードでも WebSearch が拒否されることがあります。これは Claude Max 契約者にも影響することが確認されているバグです。この問題に当たっている場合の回避策は次のとおりです。

# 組み込み WebSearch を完全に回避して MCP サーバーを使う
# (対処法 3 を参照)

対処法 3: Web Search 用の MCP サーバーを使う

組み込み WebSearch が壊れているとき、Claude Code 内で最も安定している対処法は、外部で Web Search を処理する MCP サーバーを使うことです。

選択肢 A: Brave Search MCP Server

# Brave Search MCP server をインストール
claude mcp add brave-search -- npx -y @anthropic/mcp-server-brave-search \
  --env BRAVE_API_KEY=your_brave_api_key_here

Brave Search MCP Server は Anthropic が保守しており、「公式」に最も近い Web Search ツールです。Claude Code が解析・引用しやすい構造化検索結果を返します。

メリット:

  • Anthropic が保守
  • 構造化されていて引用しやすい結果
  • 無料枠あり(月 2,000 クエリ)

デメリット:

  • 別途 Brave API キーが必要
  • 得られるのは検索スニペットのみで、ページ全文ではない
  • 1回の呼び出しごとに約 4,000 トークンのツール説明オーバーヘッドがある

選択肢 B: Tavily Search MCP Server

claude mcp add tavily -- npx -y @tavily/mcp-server \
  --env TAVILY_API_KEY=your_tavily_key_here

Tavily は AI エージェント向け検索に特化しており、スニペットに加えてページ本文も返します。

選択肢 C: SerpAPI MCP Server

claude mcp add serpapi -- npx -y @serpapi/mcp-server \
  --env SERPAPI_API_KEY=your_serpapi_key_here

SerpAPI は Google 検索結果を提供します。最も柔軟ですが、コストも最も高めです。


対処法 4: 確実な代替手段 — AnyCap Web Search(MCP不要、権限不要)

おすすめの対象: とにかく毎回確実に Web Search を使いたい開発者。

Claude Code の組み込み WebSearch の本当の問題は、単なるバグだけではありません。根本にあるのはアーキテクチャです。Web Search がモデル内部ツールとして実装されているため、Claude のコンテキストウィンドウ、権限モデル、レート制限を共有しています。そのどれかが崩れると、Web Search も一緒に壊れます。

AnyCap は別のアプローチを取ります。Web Search は Claude Code のコンテキスト外で動く外部機能として実行され、独自エンジン、独自 API キー、独自の出力形式を持ちます。Claude Code 側では通常の CLI ツールのように呼び出すだけです。

セットアップ(30秒 — 画像生成と同じインストール手順)

# すでに画像生成用に AnyCap を入れているならスキップ
npx -y skills add anycap-ai/anycap -a claude-code -y
curl -fsSL https://anycap.ai/install.sh | sh
anycap login

Claude Code から Web Search を使う

基本的な Web Search:

anycap web search \
  --query "Claude Code web search permission denied fix" \
  --results 5

出力:

Searching for: Claude Code web search permission denied fix...
Found 5 results:

1. GitHub Issue #21091 — WebSearch Tool Blocked Despite Permissionless Mode
   https://github.com/anthropics/claude-code/issues/21091
   Relevant: Confirmed bug — WebSearch denied even with --permissionless flag

2. Reddit r/ClaudeCode — How to grant Claude Code web search permission
   https://reddit.com/r/ClaudeCode/comments/1kouc2z/
   Relevant: Edit(*) in settings.json blocks WebSearch

3-5. [additional results]

Claude Code はこれらの結果をそのまま読み取り、引用できます。権限ポップアップも、「Did 0 searches」も、settings.json のデバッグも不要です。

ディープリサーチ(複数ソース):

anycap web deep-research \
  --topic "State of AI coding agents 2026" \
  --depth 3 \
  --output research.md

これは複数の検索クエリを実行し、リンクをたどり、内容を抽出し、引用付きの調査ドキュメントを作成します。しかもすべて Claude Code のコンテキストウィンドウ外で実行されます。

ライブ Web クロール(ページ全文取得):

anycap web crawl \
  --url "https://docs.anthropic.com/en/docs/claude-code/web-search" \
  --format markdown

ページ全体を Markdown で返すため、Claude Code が解析・参照できます。

この方法が壊れにくい理由

Claude Code 組み込み WebSearch AnyCap Web Search
権限モデル Claude Code の権限設定に依存(バグあり) 外部実行 — Claude の権限不要
API ルーティング モデル内部(ルーティングバグの影響を受ける) 専用検索エンジン
レート制限 Claude Code の制限を共有 別 API で独立
出力形式 Claude が整形したテキスト ソース URL 付きの構造化 JSON
ページ全文 なし(スニペットのみ) あり(Web Crawl 経由)
ディープリサーチ なし あり(複数クエリ、複数ソース)
コンテキスト負荷 可変(モデル依存) 1回あたり約 1,000 トークン
認証情報 Anthropic API キー AnyCap ログイン 1つ

比較: どの対処法を使うべきか?

対処法 効くケース セットアップ時間 信頼性
対処法 1: 権限設定の修正 settings.json が原因のとき 5分 中程度(また壊れる可能性あり)
対処法 2: Permissionless モード 権限モデルが原因のとき 1分 低い(既知のバグ #21091)
対処法 3: MCP サーバー API キーと忍耐があるとき 15〜30分 高い(外部エンジン)
対処法 4: AnyCap CLI とにかく検索を確実に使いたいとき 2分 最も高い(専用エンジン)

FAQ

Claude Code が「Did 0 searches」と表示するのはなぜ?

これは、Claude Code の内部 WebSearch ツールが実行されたのに結果を返さない既知のバグです。ブラウザなら結果が出る検索でも発生します。原因は API リクエスト内の blocked_domains: [] パラメータが不正であることです。確実な対処法は外部検索ツールを使うことだけです(対処法 3 または対処法 4)。

Claude Code の Web Search は無料ですか?

はい。Claude Code の組み込み WebSearch は Claude のサブスクリプション(Pro、Max、Team)に含まれています。ただし、MCP ベースの代替手段(対処法 3)は通常、別料金体系の API キーが必要です。AnyCap の Web Search は従量課金で、5 ドル分の無料クレジットから始められます。

Claude Code から Google Search を使えますか?

組み込み WebSearch ツールでは使えません。これは Anthropic 独自の検索バックエンドを利用しているためです。Google の検索結果が必要なら、SerpAPI MCP Server(対処法 3 の選択肢 C)か、複数ソースの集約結果を返す AnyCap の anycap web search を使ってください。

なぜ claude.ai では Web Search が動くのに、Claude Code では動かないのですか?

Claude Code と claude.ai では Web Search の実装が異なります。claude.ai の Web インターフェースはより成熟した検索統合を備えていますが、Claude Code のターミナルベース WebSearch は比較的新しいツールで、既知のバグが残っています。Web では動くのにターミナルでは動かない場合、Claude Code 固有の問題に当たっている可能性が高く、典型的には権限設定か「Did 0 searches」バグです。

Claude Code がオフラインでも AnyCap Web Search は使えますか?

いいえ。ただし、それは他の方法でも同じです。AnyCap Web Search は検索エンジンに実際の HTTP リクエストを送るため、インターネット接続が必要です。一方で、必要 ない のは、Claude Code の WebSearch ツールが正常であること、権限が承認されていること、レート制限に余裕があることです。ネット接続さえあれば、AnyCap Search は動きます。


次に読むべき記事