Stats
Actions
Tags
From audio-hooks
Runs Python scripts via runner on 20+ events: SessionStart/End, CwdChanged, Pre/PostCompact (auto/manual), PreToolUse (Bash), PostToolUse (Bash/Write/Edit), .env FileChanged. Touches bash, file writes; PreToolUse can block Bash.
26 events · 36 hooks
Safety signals detected in this hook configuration
Where this hook configuration is defined
Defined in hooks/hooks.json
Event handlers and matchers — expand Raw Configuration for the full JSON
python "${CLAUDE_PLUGIN_ROOT}/runner/run.py" stop10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" cwd_changed10msmanualpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" precompact_manual10msautopython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" precompact_auto10msBashpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" pretooluse10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" session_end10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" elicitation10ms.env|.envrc|.env.localpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" file_changed10msmanualpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" postcompact_manual10msautopython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" postcompact_auto10msBash|Write|Editpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" posttooluse10msrate_limitpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" stop_failure_rate_limit10msauthentication_failedpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" stop_failure_authentication_failed10msbilling_error|invalid_request|server_error|max_output_tokens|unknownpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" stop_failure_other10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" task_created10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" config_change10mspermission_promptpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" notification_permission_prompt10msidle_promptpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" notification_idle_prompt10msauth_successpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" notification_auth_success10mselicitation_dialogpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" notification_elicitation_dialog10msstartuppython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" session_start_startup10msresumepython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" session_start_resume10msclearpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" session_start_clear10mscompactpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" session_start_compact10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" subagent_stop10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" teammate_idle10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" subagent_start10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" task_completed10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" worktree_create10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" worktree_remove10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" permission_denied10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" userpromptsubmit10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" elicitation_result10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" permission_request10mspython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" instructions_loaded10msBash|Write|Editpython "${CLAUDE_PLUGIN_ROOT}/runner/run.py" posttoolusefailure10msnpx claudepluginhub chanmeng666/echook --plugin audio-hooks