# Osysharp.Models.Anthropic — Anthropic's models as a provider

> `Osysharp.Models.Anthropic` is the class that talks to Anthropic's Messages API. Name it on the models it serves and every call to those models goes through it.

<!-- id: agent-kit-anthropic · area: agent · stability: preview · html: https://osysharp.com/reference/agent/kit-anthropic/ -->

> **You are here:** [Building with agents](https://osysharp.com/reference/agent/guide/) › [The kits](https://osysharp.com/reference/agent/guide-kits/) › Models.Anthropic

## Summary        {#summary}
`Osysharp.Models.Anthropic` is the class that talks to Anthropic's Messages API. Name it on the models it serves and every call to those models goes through it.

A provider is an ordinary class written in Osy#, using only what any app may use. The API key is a secret your app names; the kit asks for one host, `api.anthropic.com`, and an app that uses it grants that host or does not compile.

|  |  |
|---|---|
| Package | `Osysharp.Models.Anthropic`, version 1.0.0 |
| You add it with | `use Osysharp.Models.Anthropic;` in the app's manifest. |
| It sits on | [[agent-kit-llm\|Llm]] |
| It also uses | `Http` — parts of the platform's own library |
| Its own test app | A ferry line's desk that answers travellers — `kits/anthropic/tests` |

## Description    {#description}

### What do you get without writing anything?   {#free}
- Complete and stream, with tools, prompt caching and structured output.
- Token counts reported to the meter, so calls are priced from what the provider says was used.

### When do you need it?   {#when}
When your models are Anthropic's. You need at least one provider kit, or a provider class of your own.

### What does it expose?   {#exposes}
The tables below are generated from the kit itself, not written by hand: `osy kits Osysharp.Models.Anthropic --surface` lists each of
them with the code of the kit's own test app that uses it, and the tests that show it working.

**Types you use**

| Type | What it is |
|---|---|
| `AnthropicClient` | The Anthropic Messages API as an `ILlmClient`. |
| `AnthropicMessageRequest` | What goes UP. |
| `AnthropicMessageResponse` | What comes back from a non-streaming call. |
| `AnthropicBlock` | One block of the answer. |
| `AnthropicUsage` | The token counts. |
| `AnthropicStreamEvent` | One server-sent event of a streamed answer. |
| `AnthropicStreamDelta` | The changing part of an event: text as it is written, a tool's arguments as they are written, or the stop reason. |

## What to read next   {#read-next}
- [Osysharp.Llm — every call to a model: which one, what it may cost, what it did cost](https://osysharp.com/reference/agent/kit-llm/) — every call to a model: which one, what it may cost, what it did cost
- [Osysharp.Models.OpenAi — OpenAI's models, and anything that speaks the same wire, as a provider](https://osysharp.com/reference/agent/kit-openai/) — OpenAI's models, and anything that speaks the same wire, as a provider
- [The map of the kits — which sits on which, and what each one is for](https://osysharp.com/reference/agent/guide-kits/) — the map of the kits — which sits on which, and what each one is for

## Go deeper   {#see-also}
- [[agent-llm-calls#providers]] — how a provider is written and named
- [[agent-llm-calls#models]] — saying which models the app has
