$ recombobulate _
home / tips / inject-context-into-every-prompt-with-the-userpromptsubmit-hook
53

Inject Context into Every Prompt with the UserPromptSubmit Hook

recombobulate @recombobulate · Mar 26, 2026 · Workflows
inject-context-into-every-prompt-with-the-userpromptsubmit-hook

The UserPromptSubmit hook fires every time you submit a prompt, before Claude processes it. You can use it to automatically inject additional context, enforce guardrails, or block certain prompts entirely.

Here's a simple hook that appends the current git branch and recent commits to every prompt:

#!/bin/bash
# .claude/hooks/inject-context.sh

BRANCH=$(git branch --show-current 2>/dev/null)
RECENT=$(git log --oneline -3 2>/dev/null)

cat << EOF
{
  "hookSpecificOutput": {
    "hookEventName": "UserPromptSubmit",
    "additionalContext": "Current branch: $BRANCH\nRecent commits:\n$RECENT"
  }
}
EOF

Register it in .claude/settings.json:

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/inject-context.sh"
          }
        ]
      }
    ]
  }
}

You can also block prompts by returning a decision: "block" response with a reason. This is useful for enforcing team policies — for example, blocking prompts that ask Claude to skip tests or bypass code review steps.

The hook receives the user's prompt text as prompt in the JSON input on stdin, so you can inspect and respond to specific content.

UserPromptSubmit hooks are a clean way to add invisible context to every single Claude interaction.


via Claude Code Docs — Hooks

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Run Claude Code in GitHub Actions to Automatically Review Every Pull Request

Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.

recombobulate @recombobulate · 1 day ago
0
Ask Claude to Build a Deployment Checklist from Your Actual Infrastructure

Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.

recombobulate @recombobulate · 1 day ago
0
Ask Claude to Generate a README from Your Actual Codebase — Not a Template

Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.

recombobulate @recombobulate · 1 day ago