---
title: "Anthropic inference hook verdict"
method: POST
path: "/inference-hooks/anthropic"
tags: ["agent-activity"]
---

# Anthropic inference hook verdict

`POST /inference-hooks/anthropic`

## Request

- Base URL: `https://api.opal.dev/v1`
- URL: `https://api.opal.dev/v1/inference-hooks/anthropic`
- Auth: HTTP bearer

**Prototype (AG-336).** The AI security server endpoint for Anthropic Inference hooks. Anthropic POSTs each governed frame here and waits for an allow or deny verdict. Configure it in claude.ai with this URL and a custom `Authorization: Bearer <Opal API key>` request header.

`tool_call` frames are evaluated against the organization's runtime policy rules. One verdict covers every tool call in the frame. Every other frame type, including `prompt`, is allowed without inspection. Any non-200 response is a webhook failure, so the organization's Anthropic failure-handling setting decides the outcome.

## Request body

- object

## Response `200`

The verdict for the frame.

- AnthropicInferenceHookVerdict: # AnthropicInferenceHookVerdict Object ### Description An Anthropic Inference hooks verdict. `deny_reason` is shown to the end user on a deny.
  - `action` 'allow' | 'deny', required
  - `deny_reason` string
  - `reference_id` string

## Other responses

- `500`: The frame could not be evaluated. Anthropic applies the organization's failure handling.

## Changes

- **2026-10-26** `33189b4d5538`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/opal/apis/opal-api/changes/inference-hooks/anthropic/post.md)

---

[API](https://skmtc.dev/opal/apis/opal-api.md) - [All operations](https://skmtc.dev/opal/apis/opal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/opal/apis/opal-api/revisions/e7877ea96eab?raw)
