tryAGI.Anthropic
3.8.0
Prefix Reserved
See the version list below for details.
dotnet add package tryAGI.Anthropic --version 3.8.0
NuGet\Install-Package tryAGI.Anthropic -Version 3.8.0
<PackageReference Include="tryAGI.Anthropic" Version="3.8.0" />
<PackageVersion Include="tryAGI.Anthropic" Version="3.8.0" />
<PackageReference Include="tryAGI.Anthropic" />
paket add tryAGI.Anthropic --version 3.8.0
#r "nuget: tryAGI.Anthropic, 3.8.0"
#:package tryAGI.Anthropic@3.8.0
#addin nuget:?package=tryAGI.Anthropic&version=3.8.0
#tool nuget:?package=tryAGI.Anthropic&version=3.8.0
Anthropic
Disclaimer: This package is not affiliated with, endorsed by, or sponsored by Anthropic. Anthropic and Claude are trademarks of Anthropic, PBC.
Features 🔥
- Fully generated C# SDK based on official OpenAPI specification using AutoSDK
- Automatic releases of new preview versions if there was an update to the OpenAPI specification
- Source generator to define tools natively through C# interfaces
- All modern .NET features - nullability, trimming, NativeAOT, etc.
- Support .Net Framework/.Net Standard 2.0
- Supporting Microsoft.Extensions.AI
- Supports all endpoints of the API, including batch requests, count tokens, and prompt caching.
Usage
using Anthropic;
using var client = new AnthropicClient(apiKey);
var messageParams = new CreateMessageParams()
{
Model = new Model(ModelVariant6.Claude35SonnetLatest),
Messages = [
new InputMessage(InputMessageRole.User, "What's the weather like today?"),
new InputMessage(InputMessageRole.Assistant, "Sure! Could you please provide me with your location?"),
new InputMessage(InputMessageRole.User, "Dubai, UAE")
],
MaxTokens = 250
};
var response = await client.Messages.MessagesPostAsync(messageParams);
Tools
using CSharpToJsonSchema;
public enum Unit
{
Celsius,
Fahrenheit,
}
public class Weather
{
public string Location { get; set; } = string.Empty;
public double Temperature { get; set; }
public Unit Unit { get; set; }
public string Description { get; set; } = string.Empty;
}
[GenerateJsonSchema]
public interface IWeatherFunctions
{
[Description("Get the current weather in a given location")]
public Weather GetCurrentWeather(
[Description("The city and state, e.g. San Francisco, CA")] string location,
Unit unit = Unit.Celsius);
[Description("Get the current weather in a given location")]
public Task<Weather> GetCurrentWeatherAsync(
[Description("The city and state, e.g. San Francisco, CA")] string location,
Unit unit = Unit.Celsius,
CancellationToken cancellationToken = default);
}
public class WeatherService : IWeatherFunctions
{
public Weather GetCurrentWeather(string location, Unit unit = Unit.Celsius)
{
return new Weather
{
Location = location,
Temperature = 22.0,
Unit = unit,
Description = "Sunny",
};
}
public Task<Weather> GetCurrentWeatherAsync(string location, Unit unit = Unit.Celsius, CancellationToken cancellationToken = default)
{
return Task.FromResult(new Weather
{
Location = location,
Temperature = 22.0,
Unit = unit,
Description = "Sunny",
});
}
}
using Anthropic;
using var client = new AnthropicClient(apiKey);
var service = new WeatherService();
var tools = service.AsTools();
var messageParams = new CreateMessageParams()
{
Model = new Model(ModelVariant6.Claude35SonnetLatest),
Messages = [new InputMessage(InputMessageRole.User, "What is the current temperature in Dubai, UAE in Celsius?")],
MaxTokens = 4096,
System = "You are a helpful weather assistant.",
ToolChoice = new ToolChoice(new ToolChoiceAuto()),
Tools = tools
};
var response = await client.Messages.MessagesPostAsync(messageParams);
messageParams.Messages.Add(response.AsInputMessage());
foreach (var toolUse in response.Content.Value2!
.Where(x => x.IsToolUse)
.Select(x => x.ToolUse))
{
var json = await service.CallAsync(
functionName: toolUse!.Name,
argumentsAsJson: toolUse.Input.AsJson());
messageParams.Messages.Add(json.AsToolCall(toolUse));
}
response = await client.Messages.MessagesPostAsync(messageParams);
Support
Priority place for bugs: https://github.com/tryAGI/Anthropic/issues
Priority place for ideas and general questions: https://github.com/tryAGI/Anthropic/discussions
Discord: https://discord.gg/Ca2xhfBf3v
Acknowledgments
This project is supported by JetBrains through the Open Source Support Program.
This project is supported by CodeRabbit through the Open Source Support Program.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- CSharpToJsonSchema (>= 3.10.1)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.9)
- Microsoft.Extensions.AI.Abstractions (>= 9.9.1)
- Microsoft.NET.ILLink.Tasks (>= 9.0.9)
- System.Net.ServerSentEvents (>= 9.0.9)
- System.Text.Json (>= 9.0.9)
-
.NETStandard 2.0
- CSharpToJsonSchema (>= 3.10.1)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.9)
- Microsoft.Extensions.AI.Abstractions (>= 9.9.1)
- Microsoft.NET.ILLink.Tasks (>= 9.0.9)
- System.Net.ServerSentEvents (>= 9.0.9)
- System.Text.Json (>= 9.0.9)
-
net8.0
- CSharpToJsonSchema (>= 3.10.1)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.9)
- Microsoft.Extensions.AI.Abstractions (>= 9.9.1)
- Microsoft.NET.ILLink.Tasks (>= 9.0.9)
- System.Net.ServerSentEvents (>= 9.0.9)
- System.Text.Json (>= 9.0.9)
-
net9.0
- CSharpToJsonSchema (>= 3.10.1)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.9)
- Microsoft.Extensions.AI.Abstractions (>= 9.9.1)
- Microsoft.NET.ILLink.Tasks (>= 9.0.9)
- System.Net.ServerSentEvents (>= 9.0.9)
- System.Text.Json (>= 9.0.9)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.8.1-dev.4 | 134 | 10/28/2025 |
| 3.8.1-dev.3 | 144 | 10/28/2025 |
| 3.8.0 | 210 | 10/16/2025 |
| 3.7.2-dev.26 | 129 | 10/16/2025 |