Skip to content

A Semantic Kernel connector that bridges your local Claude Code OAuth session into Microsoft Semantic Kernel — no manual API key management needed.

License

Notifications You must be signed in to change notification settings

JerrettDavis/JD.SemanticKernel.Connectors.ClaudeCode

Repository files navigation

JD.SemanticKernel.Connectors.ClaudeCode

NuGet NuGet Downloads CI CodeQL codecov License: MIT

A Semantic Kernel connector that bridges your local Claude Code OAuth session into Microsoft Semantic Kernel — no manual API key management needed.

Features

  • Zero-config authentication — automatically reads ~/.claude/.credentials.json
  • Multi-source credential resolution — options → env vars → local session, in priority order
  • OAuth & API key support — handles sk-ant-oat* (Bearer) and sk-ant-api* (x-api-key) tokens
  • Full Semantic Kernel integrationIKernelBuilder.UseClaudeCodeChatCompletion() one-liner
  • DI-friendlyIServiceCollection.AddClaudeCodeAuthentication() for ASP.NET Core / Generic Host
  • Broad TFM supportnetstandard2.0, net8.0, net10.0

Quick Start

Install

dotnet add package JD.SemanticKernel.Connectors.ClaudeCode

Kernel Builder (Recommended)

using JD.SemanticKernel.Connectors.ClaudeCode;

var builder = Kernel.CreateBuilder();
builder.UseClaudeCodeChatCompletion(); // defaults to ClaudeModels.Default (Sonnet)
var kernel = builder.Build();

var result = await kernel.InvokePromptAsync("Hello, Claude!");
Console.WriteLine(result);

Service Collection (ASP.NET Core)

builder.Services.AddClaudeCodeAuthentication(options =>
{
    options.CredentialsPath = "/custom/path/.credentials.json"; // optional
});

Configuration Binding

{
  "ClaudeSession": {
    "ApiKey": null,
    "OAuthToken": null,
    "CredentialsPath": null
  }
}
builder.Services.AddClaudeCodeAuthentication(builder.Configuration);

Credential Resolution Order

Priority Source Description
1 ClaudeSession:ApiKey Explicit API key in options/config
2 ClaudeSession:OAuthToken Explicit OAuth token in options/config
3 ANTHROPIC_API_KEY env var Environment variable
4 CLAUDE_CODE_OAUTH_TOKEN env var Environment variable
5 ~/.claude/.credentials.json Claude Code local session file

Sample CLI Tools

This repo includes sample projects demonstrating agentic workflows with Semantic Kernel:

Tool Command Description
Gherkin Generator jdgerkinator Converts acceptance criteria into Gherkin/Reqnroll specs
PR Review Agent jdpr Multi-provider PR review (GitHub, Azure DevOps, GitLab)
Codebase Explorer jdxplr Profiles codebases into structured knowledgebases
Todo Extractor (library demo) Extracts structured todos from natural language

Install the CLI tools as global tools:

dotnet tool install -g JD.Tools.GherkinGenerator
dotnet tool install -g JD.Tools.PullRequestReviewer
dotnet tool install -g JD.Tools.CodebaseExplorer

Models

Well-known model constants are available via ClaudeModels:

builder.UseClaudeCodeChatCompletion(ClaudeModels.Opus);   // claude-opus-4-6
builder.UseClaudeCodeChatCompletion(ClaudeModels.Sonnet);  // claude-sonnet-4-6 (default)
builder.UseClaudeCodeChatCompletion(ClaudeModels.Haiku);   // claude-haiku-4-5

Documentation

Full documentation is available at the DocFX site including:

Building

dotnet build
dotnet test

Build Documentation

cd docs
dotnet tool restore
dotnet docfx docfx.json

License

MIT

About

A Semantic Kernel connector that bridges your local Claude Code OAuth session into Microsoft Semantic Kernel — no manual API key management needed.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •