🚫
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で編集を提案
Discussion