Stats
Actions
Tags
From sub-claude
Blocks the Bash tool until a git branch verification passes via a Python script, enforcing branch compliance. Also runs session startup checks and saves session state on stop. Executes bash commands.
3 events · 5 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
[ -n "${SUB_CLAUDE_DONE_FILE:-}" ] && echo stop > "$SUB_CLAUDE_DONE_FILE" || trueEnterPlanMode[ "${SUB_CLAUDE:-}" = "1" ] || exit 0; printf '{"decision":"block","reason":"You are a sub-claude instance. Do not use EnterPlanMode — discuss plans inline instead."}'AskUserQuestion[ "${SUB_CLAUDE:-}" = "1" ] || exit 0; printf '{"decision":"block","reason":"You are a sub-claude instance. Do not use AskUserQuestion — ask questions inline with lettered options (A, B, C)."}'EnterWorktree|Bash[ "${SUB_CLAUDE:-}" = "1" ] || exit 0; input=$(cat); if printf '%s\n' "$input" | grep -qE 'sub-claude\b.*\bpool\s+(stop|gc|destroy)' && ! printf '%s\n' "$input" | grep -qE 'sub-claude\b.*-C\b'; then printf '{"decision":"block","reason":"You are a sub-claude agent. Cannot stop/gc/destroy your own sub-claude pool. Use -C to target a different pool."}'; exit 0; fi; printf '%s\n' "$input" | grep -q '"command"' && exit 0; printf '{"decision":"block","reason":"You are a sub-claude agent. EnterWorktree is blocked — worktrees trap the sub-claude slot in a different directory."}'mkdir -p "$HOME/.claude/session-pids" && jq -r '.session_id // empty' | head -1 | { read -r sid; [ -n "$sid" ] && printf '%s' "$sid" > "$HOME/.claude/session-pids/$PPID"; } || truenpx claudepluginhub eliasschlie/claude-plugins --plugin sub-claude