--- summary: "CLI reference for `clawdbot hooks` (internal hooks + Gmail Pub/Sub + webhook helpers)" read_when: - You want to manage internal agent hooks - You want to wire Gmail Pub/Sub events into Clawdbot hooks - You want to run the gog watch service and renew loop --- # `clawdbot hooks` Webhook helpers and hook-based integrations. Related: - Internal Hooks: [Internal Agent Hooks](/internal-hooks) - Webhooks: [Webhook](/automation/webhook) - Gmail Pub/Sub: [Gmail Pub/Sub](/automation/gmail-pubsub) ## Internal Hooks Manage internal agent hooks (event-driven automations for commands like `/new`, `/reset`, etc.). ### List All Hooks ```bash clawdbot hooks internal list ``` List all discovered internal hooks from workspace, managed, and bundled directories. **Options:** - `--eligible`: Show only eligible hooks (requirements met) - `--json`: Output as JSON - `-v, --verbose`: Show detailed information including missing requirements **Example output:** ``` Internal Hooks (2/2 ready) Ready: 📝 command-logger ✓ - Log all command events to a centralized audit file 💾 session-memory ✓ - Save session context to memory when /new command is issued ``` **Example (verbose):** ```bash clawdbot hooks internal list --verbose ``` Shows missing requirements for ineligible hooks. **Example (JSON):** ```bash clawdbot hooks internal list --json ``` Returns structured JSON for programmatic use. ### Get Hook Information ```bash clawdbot hooks internal info ``` Show detailed information about a specific hook. **Arguments:** - ``: Hook name (e.g., `session-memory`) **Options:** - `--json`: Output as JSON **Example:** ```bash clawdbot hooks internal info session-memory ``` **Output:** ``` 💾 session-memory ✓ Ready Save session context to memory when /new command is issued Details: Source: clawdbot-bundled Path: /path/to/clawdbot/hooks/bundled/session-memory/HOOK.md Handler: /path/to/clawdbot/hooks/bundled/session-memory/handler.ts Homepage: https://docs.clawd.bot/internal-hooks#session-memory Events: command:new Requirements: Config: ✓ workspace.dir ``` ### Check Hooks Eligibility ```bash clawdbot hooks internal check ``` Show summary of hook eligibility status (how many are ready vs. not ready). **Options:** - `--json`: Output as JSON **Example output:** ``` Internal Hooks Status Total hooks: 2 Ready: 2 Not ready: 0 ``` ### Enable a Hook ```bash clawdbot hooks internal enable ``` Enable a specific hook by adding it to your config (`~/.clawdbot/config.json`). **Arguments:** - ``: Hook name (e.g., `session-memory`) **Example:** ```bash clawdbot hooks internal enable session-memory ``` **Output:** ``` ✓ Enabled hook: 💾 session-memory ``` **What it does:** - Checks if hook exists and is eligible - Updates `hooks.internal.entries..enabled = true` in your config - Saves config to disk **After enabling:** - Restart the gateway so hooks reload (menu bar app restart on macOS, or restart your gateway process in dev). ### Disable a Hook ```bash clawdbot hooks internal disable ``` Disable a specific hook by updating your config. **Arguments:** - ``: Hook name (e.g., `command-logger`) **Example:** ```bash clawdbot hooks internal disable command-logger ``` **Output:** ``` ⏸ Disabled hook: 📝 command-logger ``` **After disabling:** - Restart the gateway so hooks reload ## Bundled Hooks ### session-memory Saves session context to memory when you issue `/new`. **Enable:** ```bash clawdbot hooks internal enable session-memory ``` **Output:** `~/clawd/memory/YYYY-MM-DD-slug.md` **See:** [session-memory documentation](/internal-hooks#session-memory) ### command-logger Logs all command events to a centralized audit file. **Enable:** ```bash clawdbot hooks internal enable command-logger ``` **Output:** `~/.clawdbot/logs/commands.log` **View logs:** ```bash # Recent commands tail -n 20 ~/.clawdbot/logs/commands.log # Pretty-print cat ~/.clawdbot/logs/commands.log | jq . # Filter by action grep '"action":"new"' ~/.clawdbot/logs/commands.log | jq . ``` **See:** [command-logger documentation](/internal-hooks#command-logger) ## Gmail ```bash clawdbot hooks gmail setup --account you@example.com clawdbot hooks gmail run ``` See [Gmail Pub/Sub documentation](/automation/gmail-pubsub) for details.