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

# Gateway

> API reference for the LLM provider gateway in @cline/llms.

`DefaultGateway` creates provider-backed `AgentModel` instances and exposes provider/model catalog helpers.

```typescript theme={"system"}
import { DefaultGateway, createGateway } from "@cline/llms"
```

## Constructor

```typescript theme={"system"}
const gateway = new DefaultGateway({
  providerConfigs: [
    { providerId: "anthropic", apiKey: process.env.ANTHROPIC_API_KEY },
  ],
})
```

Or:

```typescript theme={"system"}
const gateway = createGateway({ providerConfigs: [...] })
```

## Methods

### `registerProvider(registration)`

```typescript theme={"system"}
gateway.registerProvider(registration)
```

Registers a `GatewayProviderRegistration`.

### `configureProvider(config)`

```typescript theme={"system"}
gateway.configureProvider({
  providerId: "anthropic",
  apiKey: process.env.ANTHROPIC_API_KEY,
})
```

Configures credentials/defaults for a provider.

### `listProviders()`

```typescript theme={"system"}
const providers = gateway.listProviders()
```

Returns registered provider manifests.

### `listModels(providerId?)`

```typescript theme={"system"}
const allModels = gateway.listModels()
const anthropicModels = gateway.listModels("anthropic")
```

Returns model metadata.

### `createAgentModel(selection, options?)`

```typescript theme={"system"}
const model = gateway.createAgentModel({
  providerId: "anthropic",
  modelId: "claude-sonnet-4-6",
})
```

Returns an `AgentModel` that can be passed to `AgentRuntime`.

### `stream(request)`

```typescript theme={"system"}
const stream = await gateway.stream({
  providerId: "anthropic",
  modelId: "claude-sonnet-4-6",
  messages,
  tools: [],
})
```

Returns `AsyncIterable<AgentModelEvent>`.

## Registry Helpers

`@cline/llms` also exports:

* `getAllProviders`
* `getProviderIds`
* `getProvider`
* `getModelsForProvider`
* `registerProvider`
* `registerModel`
* `createHandler`
* `createHandlerAsync`

## Built-In Provider Families

The runtime includes built-in registrations for provider families including Anthropic, OpenAI, Gemini, Vertex, Bedrock, Mistral, Claude Code, OpenAI Codex, OpenCode, Dify, and OpenAI-compatible providers.
