diff --git a/home-configs/claude/hooks/switch-account-hook.sh b/home-configs/claude/hooks/switch-account-hook.sh index af0ed06..ea3901f 100755 --- a/home-configs/claude/hooks/switch-account-hook.sh +++ b/home-configs/claude/hooks/switch-account-hook.sh @@ -40,8 +40,9 @@ echo "$next" > "$CURRENT_FILE" echo "Аккаунт: ${current:-?} -> ${next} (всего: ${#accounts[@]})" >&2 -# Посылаем SIGWINCH родительскому процессу claude чтобы он перерисовал статусную строку -ppid=$(ps -o ppid= -p $$ 2>/dev/null | tr -d ' ') -[ -n "$ppid" ] && kill -WINCH "$ppid" 2>/dev/null || true +# Посылаем SIGWINCH процессу claude (дедушка: bash->sh->claude) +sh_pid=$PPID +claude_pid=$(awk '/PPid/{print $2}' /proc/$sh_pid/status 2>/dev/null) +[ -n "$claude_pid" ] && kill -WINCH "$claude_pid" 2>/dev/null || true exit 2