All notable changes to the Claude Code SDK for .NET will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Initial release of Claude Code SDK for .NET
- Core SDK functionality translated from Python version
ClaudeQuery.QueryAsync()for one-shot queriesClaudeSDKClientfor interactive, bidirectional conversations- Full type system with strongly-typed messages and content blocks
- Subprocess CLI transport implementation
- Comprehensive error handling with custom exception types
- Message parsing with JSON support
- Support for all Claude Code options and tools
- Examples demonstrating basic usage, streaming, and interactive scenarios
- Unit tests for core functionality
- Complete documentation and README
- Bidirectional Communication: Full support for interactive conversations
- Tool Integration: Complete tool system with permission modes
- Streaming Support: Real-time message streaming
- Type Safety: Strongly-typed messages and content blocks
- Error Handling: Comprehensive exception system
- Async/Await: Full async support throughout the API
- Cross-Platform: Compatible with all .NET 8.0+ platforms
- Cancellation Support: CancellationToken support for all async operations
UserMessage- User input messagesAssistantMessage- Claude's responses with content blocksSystemMessage- System-level messagesResultMessage- Conversation results with cost and usage info
TextBlock- Plain text contentThinkingBlock- Claude's reasoning processToolUseBlock- Tool execution requestsToolResultBlock- Tool execution results
- System prompts and prompt appending
- Tool allowlists and denylists
- Permission modes (default, acceptEdits, plan, bypassPermissions)
- Working directory and additional directories
- MCP server configurations
- Model selection and thinking token limits
- Session management and conversation continuation