Sign in
Explore
Add-ons · HookTesting & SecuritySecurity auditsReviewedRuns shell commands

claude-security/hooks.json

Shows the Claude Security banner when its menu opens, times out an unanswered scan question after 60 seconds, and suggests a scan after a push.

Kind
Hook
Works with
Claude Code
Source
anthropics/claude-plugins-official @ 58267944f921
Path
plugins/claude-security/hooks/hooks.json
Jobs
Guardrails
Topics
Security audits

Credit

Made by
anthropics
Original
github.com/anthropics/claude-plugins-official/blob/58267944f9…
License
Apache-2.0

Listed by Skill Manifest; not made by us.

InstallInstall it from a plugin marketplace.
/plugin install claude-security@claude-plugins-official
Install factsScanned 2 Nov 2026
Adds
  • Entries under `hooks` in .claude/settings.json
  • Hook on UserPromptExpansion
  • Hook on PostToolUse
  • Hook on PostToolUseFailure
  • Hook on PermissionRequest
Runs scripts
Yes
  • ${CLAUDE_PLUGIN_ROOT}/hooks/hooks.sh
  • hook command runs on every matching event
Uses the network
None found
Needs secrets
None found
Source revision
58267944f921
Licence
Apache-2.0
Last activity
1 Nov 2026
Review
Reviewed

Found by a static scan of the stored text; nothing is run. “None found” is not a guarantee, so read what you install before you run it.

{
  "description": "Shows the Claude Security banner when the /claude-security menu opens, reports usage counts after the plugin's helper scripts run, closes the yes/no question asked before a scan starts if it is left unanswered for 60 seconds, and suggests a scan of the changes after a branch is pushed or a pull request opened.",
  "hooks": {
    "UserPromptExpansion": [
      {
        "matcher": "^claude-security:claude-security$",
        "hooks": [
          {
            "type": "command",
            "command": "sh \"${CLAUDE_PLUGIN_ROOT}/hooks/hooks.sh\" banner"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "sh \"${CLAUDE_PLUGIN_ROOT}/hooks/hooks.sh\" metrics || true",
            "if": "Bash(py* *claude-security*scripts/*.py *)",
            "async": true,
            "asyncRewake": true,
            "timeout": 10
          },
          {
            "type": "command",
            "command": "sh \"${CLAUDE_PLUGIN_ROOT}/hooks/hooks.sh\" tip push || true",
            "if": "Bash(git push *)",
            "timeout": 5
          },
          {
…