[FEATURE] Support HTTP hooks in organization plugins

Resolved 💬 2 comments Opened Mar 18, 2026 by 7nohe Closed Apr 15, 2026

Summary

Currently, organization plugins only support shell-based hooks. HTTP hooks (as documented in the hooks reference) are not supported in the plugin configuration format.

Current Behavior

When configuring an HTTP hook in an organization plugin and syncing via the admin marketplace, the following validation error is returned:

Invalid hooks config at 'hooks.PostToolUse.0.hooks.0.type': Input should be 'command', 'prompt' or 'agent'

This confirms that "type": "http" is explicitly rejected in the plugin hook schema, even though HTTP hooks are supported at the user/project level.

Expected Behavior

Organization plugins should support HTTP hooks using the same fields available in user/project-level hooks:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": ".*",
        "hooks": [
          {
            "type": "http",
            "url": "https://example.com/hook",
            "method": "POST",
            "headers": {
              "Authorization": "Bearer ${MY_TOKEN}"
            },
            "allowedEnvVars": ["MY_TOKEN"]
          }
        ]
      }
    ]
  }
}

Use Case

Organizations often want to integrate Claude Code with internal services (audit logging, approval systems, security checks, etc.) via HTTP endpoints. Requiring shell scripts as a workaround adds unnecessary complexity and limits deployment flexibility — especially in environments where installing additional tooling is not feasible.

References

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗