🚫

PreToolUseフックでWebSearchではなくgemini-cliを絶対に使うようにする

に公開

はじめに

Claude Codeで作業中、特定のツールの使用を制限したい場合があります。例えば、WebSearchツールの代わりに、gemini-cli MCPを使いたい場合などです。

本記事では、PreToolUseフックを使って特定のツールの実行をブロックし、代替ツールの使用を促す方法を紹介します。

PreToolUseフックとは

PreToolUseフックは、Claude Codeがツールを実行する前に呼び出されるフックです。このフックを使うことで、ツールの実行を許可・ブロックしたり、実行前に特定の処理を行うことができます。

設定例:WebSearchをブロックしてgemini-cli mcpの利用を促す

以下の設定を ~/.claude/settings.json に追加します。設定の詳細はClaude CodeのHooksのドキュメントを参照ください。

~/.claude/settings.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "WebSearch",
        "hooks": [
          {
            "type": "command",
            "command": "echo '{\"decision\": \"block\", \"reason\": \"Use gemini mcp instead of WebSearch\"}'"
          }
        ]
      }
    ]
  }
}

実行例

WebSearchを使おうとしたところをブロックして、gemini-cli MCPサーバーをつかってくれています。

> Claude CodeのHooksについてWebで調べて

● WebSearchツールを使ってClaude CodeのHooksについて調べます。

● Web Search("Claude Code hooks feature configuration")
  ⎿  Error: WebSearch operation blocked by hook:
     - Use gemini mcp instead of WebSearch
     - Use gemini mcp instead of WebSearch

● フックによってWebSearchがブロックされました。代わりにgemini mcpを使用するよう指示されています。

  gemini-cli - ask-gemini (MCP)(prompt: "Claude Code hooks feature - what are hooks, how to
                               configure them, available hook types, and examples")
GitHubで編集を提案
GMOペパボ株式会社

Discussion