> ## Documentation Index
> Fetch the complete documentation index at: https://docs.averta.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Anthropic

> Use `wrapAnthropic(...)` to protect Anthropic Messages API calls.

`@averta-security/sdk-anthropic` wraps an existing Anthropic client and keeps the Anthropic SDK shape intact.

```typescript theme={null}
import Anthropic from "@anthropic-ai/sdk";
import { wrapAnthropic } from "@averta-security/sdk-anthropic";

let client = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY!,
});

client = wrapAnthropic(client);
```

## Supported Surface

The current Anthropic wrapper guards:

* `client.messages.create(...)`

Streaming is not supported yet. The wrapper fails closed for `messages.create({ stream: true })` and `messages.stream(...)`.

## What Averta Checks

For Anthropic Messages calls, Averta can:

* evaluate message input before Anthropic sees it
* filter tools when policy returns `restrict_tools`
* evaluate model-requested `tool_use` blocks before your app executes them
* evaluate `tool_result` content before it goes back to the model
* evaluate non-streaming final output and request a rewrite when policy allows it

## Reading Path

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/anthropic/quickstart">
    Wrap an Anthropic client and send a guarded Messages request.
  </Card>

  <Card title="Messages API" icon="message" href="/anthropic/messages-api">
    See how the wrapper guards `messages.create(...)`.
  </Card>

  <Card title="Tools" icon="toolbox" href="/anthropic/tool-use">
    Understand Anthropic tool exposure and tool-call checks.
  </Card>

  <Card title="Current limits" icon="triangle-alert" href="/anthropic/current-limits">
    Review unsupported inputs and streaming limits.
  </Card>
</CardGroup>
