claude-hooks は何をしますか?
🔗 Claude Hooksでワークフローを強化。プロジェクト内の権限要求やステータス通知のためのカスタムコマンド管理を実現します。
概要
Claude Hooksは、Claude Codeのワークフローにカスタムアクションを追加できる仕組みを提供します。権限の確認、ステータス通知、コードレビューの事前チェックなどを自動化できます。
セットアップ
プロジェクトのルートディレクトリに .claude/hooks/ フォルダを作成し、そこに実行可能なスクリプトを配置します。
.claude/
└── hooks/
├── pre-review.sh
├── post-deploy.sh
└── permission-check.sh
使用方法
-
フックスクリプトを作成し、実行権限を付与します:
chmod +x .claude/hooks/pre-review.sh -
Claude Codeが特定のイベント(例:
claude-reviewコマンド)を処理する際に自動的にフックが呼び出されます。 -
フックの出力はClaude Codeのログに記録され、ステータス通知として利用できます。
利用可能なフックイベント
pre-review: コードレビュー開始前に実行post-deploy: デプロイ完了後に実行pre-commit: コミット前に実行post-command: 任意のカスタムコマンド実行後
環境変数
フック内で以下の環境変数が利用可能です:
CLAUDE_HOOK_EVENT: 実行されたフックイベント名CLAUDE_PROJECT_ROOT: プロジェクトのルートディレクトリパスCLAUDE_USER_ID: 現在のユーザーID
例:権限要求フック
#!/bin/bash
# .claude/hooks/permission-check.sh
echo "この操作には管理者権限が必要です。続行しますか? (y/n)"
read -r response
if [ "$response" != "y" ]; then
echo "操作がキャンセルされました。"
exit 1
fi
exit 0
注意事項
- フックスクリプトはシェルスクリプト(bash、zshなど)または任意の実行可能バイナリです。
- フックの実行は同期的に行われ、終了コードが0以外の場合はClaude Codeの処理が中断されます。
- 機密情報をフックに含める場合は、
.gitignoreで適切に除外してください。
ライセンス
MIT