Open2
Claude Code Hooks

Claude Codeが応答を完了するたびにGlassサウンドを再生
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Glass.aiff"
}
]
}
]
}
}

編集の後にformatする
ctlr + R しないと「hookを実行しました」のメッセージが出てこないのに気が付かなくてハマった
dockerにjq入れたり、チームメンバーにjqインストールさせたりしないといけないってことなのかな
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "FILE=$(jq -r '.tool_input.file_path // empty'); if [[ $FILE =~ \\.(js|ts|jsx|tsx|json)$ ]]; then npx biome format --write \"$FILE\"; fi"
}
]
}
]
}
}