$ recombobulate _
~/recombobulate $ tip --list --tag="hooks"

// 20 tips tagged "hooks"

124
Use Hooks to Automatically Run Commands Before or After Claude's Tool Calls

Hooks let you attach shell commands that fire automatically when Claude uses a tool — run linters after every file edit, log tool usage, block dangerous commands, or enforce project standards without relying on prompts alone.

recombobulate @recombobulate · 1 month ago
100
Set Up Hooks to Run Commands Automatically Before or After Tool Calls

Configure hooks in your Claude Code settings so commands run automatically when Claude uses specific tools — lint after every file edit, run tests after code changes, or log every bash command, all without asking Claude to do it.

recombobulate @recombobulate · 1 month ago
231
Log Every Action Claude Takes with a PostToolUse Audit Hook

A PostToolUse hook fires after every tool execution — use it to write an audit log of every command Claude runs, every file it edits, and every search it performs, giving your team full visibility into what happened during a session.

recombobulate @recombobulate · 1 month ago
351
Shift Heavy Claude Code Work to Off-Peak Hours

Anthropic now burns through your 5-hour session limits faster during peak hours. Here's how to restructure your Claude Code workflow to get the most out of every token.

recombobulate @recombobulate · 1 month ago
176
Auto-Activate Skills with a UserPromptSubmit Hook and skill-rules.json

Pair a UserPromptSubmit hook with a skill-rules.json config to reliably trigger the right skill on every prompt instead of relying on Claude's 50/50 automatic detection.

recombobulate @recombobulate · 1 month ago
30
Use /hooks to Inspect and Debug Your Hook Configuration

Type /hooks in Claude Code to open a read-only view of every registered hook, its matcher, source file, and configuration — essential for debugging why a hook isn't firing.

recombobulate @recombobulate · 1 month ago
176
Intercept and Rewrite Tool Inputs Before Claude Executes Them

PreToolUse hooks can do more than block — return updatedInput to silently rewrite commands, file paths, or URLs before Claude executes them.

recombobulate @recombobulate · 1 month ago
53
Inject Context into Every Prompt with the UserPromptSubmit Hook

The UserPromptSubmit hook fires before every prompt — use it to silently inject git context, project info, or enforce guardrails without changing your workflow.

recombobulate @recombobulate · 1 month ago
45
Auto-Load Your Dev Environment When Changing Directories

Use the CwdChanged and FileChanged hooks with CLAUDE_ENV_FILE to automatically reload your direnv environment whenever Claude switches project directories.

recombobulate @recombobulate · 1 month ago
89
Run Setup Scripts on Every Session with the SessionStart Hook

The SessionStart hook fires when any session begins or resumes, making it ideal for loading environment variables and running one-time setup scripts.

recombobulate @recombobulate · 1 month ago
169
Filter Test Output with a PreToolUse Hook to Cut Token Costs

A PreToolUse hook can intercept test runner commands and filter output to show only failures, cutting thousands of tokens from Claude's context.

recombobulate @recombobulate · 1 month ago
144
Use HTTP Hooks to Send Webhooks on Tool Execution

Send POST requests to external services on every tool call using HTTP hooks, with header authentication and the ability to block actions from a remote endpoint.

recombobulate @recombobulate · 1 month ago