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

# Anthropic

> JavaScript API reference for the anthropic llm plugin.

## AnthropicLLM

Anthropic (Claude) large language model provider.

Creates a configured Anthropic LLM provider for use in a voice agent.

### Constructor

```typescript theme={null}
new AnthropicLLM(opts: AnthropicLLMOptions)
```

<ParamField path="apiKey" type="string">
  Anthropic API key. Falls back to the `ANTHROPIC_API_KEY` env var.
</ParamField>

<ParamField path="model" type="AnthropicLLMModel | string">
  Model ID to use. Default: `'claude-sonnet-4-20250514'`.
</ParamField>

<ParamField path="temperature" type="number">
  Sampling temperature. Range `0`-`1`. Default: `0.7`.
</ParamField>

<ParamField path="maxOutputTokens" type="number">
  Maximum number of tokens to generate in the response. Default: `1024`.
</ParamField>

<ParamField path="topP" type="number | null">
  Nucleus sampling probability mass. Default: `null` (provider default).
</ParamField>

<ParamField path="topK" type="number | null">
  Top-K sampling cutoff. Default: `null` (provider default).
</ParamField>

<ParamField path="stopSequences" type="string[] | string | null">
  Sequence(s) that stop generation when produced. Default: `null`.
</ParamField>

<ParamField path="thinkingBudget" type="number | null">
  Extended-thinking token budget. Default: `null` (disabled).
</ParamField>

### cancelCurrentGeneration

```typescript theme={null}
cancelCurrentGeneration(): Promise<void>
```

Cancel the in-flight generation for the current session, if any.

### chat

```typescript theme={null}
chat(_messages: any, _opts?: LLMChatOptions): AsyncIterator<LLMResponse>
```

Stream a completion for the given messages, yielding LLMResponse chunks.

<ResponseField name="returns" type="AsyncIterator<LLMResponse>" />

### close

```typescript theme={null}
close(): Promise<void>
```

Release any resources held by the provider.

### closeEmitter

```typescript theme={null}
closeEmitter(): Promise<void>
```

Close the emitter: drop all handlers and stop emitting. Waits up to 2 seconds
for in-flight async handlers to settle before returning.

### emit

```typescript theme={null}
emit(event: string, ...args: any[]): void
```

<ParamField path="event" type="string" required />

### getRuntimeConfig

```typescript theme={null}
getRuntimeConfig(): Record<string, any>
```

<ResponseField name="returns" type="Record<string, any>" />

### listenerCount

```typescript theme={null}
listenerCount(event: string): number
```

<ParamField path="event" type="string" required />

<ResponseField name="returns" type="number" />

### off

```typescript theme={null}
off(event: string, handler: EventHandler): void
```

<ParamField path="event" type="string" required />

<ParamField path="handler" type="EventHandler" required />

### on

```typescript theme={null}
on(event: string, handler: EventHandler): EventHandler
```

<ParamField path="event" type="string" required />

<ParamField path="handler" type="EventHandler" required />

<ResponseField name="returns" type="EventHandler" />

### once

```typescript theme={null}
once(event: string, handler: EventHandler): EventHandler
```

<ParamField path="event" type="string" required />

<ParamField path="handler" type="EventHandler" required />

<ResponseField name="returns" type="EventHandler" />

### removeAllListeners

```typescript theme={null}
removeAllListeners(event?: string): void
```

<ParamField path="event" type="string" />

***

## AnthropicLLMModel

```typescript theme={null}
type AnthropicLLMModel = 'claude-opus-4-8' | 'claude-sonnet-4-6' | 'claude-haiku-4-5' | 'claude-haiku-4-5-20251001' | 'claude-fable-5' | 'claude-opus-4-7' | 'claude-sonnet-4-5'
```
