Productivity
Hook
Hooks
What hey runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.
Install
$ npx -y skills add basecamp/hey-cli --agent claude-codeShips with hey. Installing the plugin gets these hooks.
What fires, and when
SessionStart
Fires once when a session begins, and again after a context compaction. It is where a plugin sets up its environment, or restores state the compaction dropped.
${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh
In the plugin's words
How hey describes its own hook set.
hey hooks for HEY integration
Where it lives
- hooks/session-start.shRunsGitHub
Read the script
#!/usr/bin/env bash # session-start.sh - HEY plugin liveness check set -euo pipefail if ! command -v hey &>/dev/null; then cat << 'EOF' <hook-output> HEY plugin active — CLI not found on PATH. Install: https://github.com/basecamp/hey-cli#install </hook-output> EOF exit 0 fi auth_json=$(hey auth status --json 2>/dev/null || echo '{}') if ! command -v jq &>/dev/null; then cat << 'EOF' <hook-output> HEY plugin active. </hook-output> EOF exit 0 fi is_auth=false if parsed_auth=$(echo "$auth_json" | jq -er '.data.authenticated' 2>/dev/null); then is_auth="$parsed_auth" fi if [[ "$is_auth" == "true" ]]; then cat << 'EOF' <hook-output> HEY plugin active. </hook-output> EOF else cat << 'EOF' <hook-output> HEY plugin active — not authenticated. Run: hey auth login </hook-output> EOF fi
Read the script before you install anything that runs on your machine. This is the one part of a plugin that acts without being asked.
Ships withhey
A CLI and TUI for HEY: your email and calendar, in the terminal and in your coding agent's hands.
Get the whole plugin
Stats
413
Stars
53
Forks
Active
Maintenance
Go
Language
MIT
License
13h ago
Last commit
7mo ago
Created
3h ago
Added

