Overview
The Claude Agent SDK allows Java applications to:- Execute queries and receive responses from Claude
- Maintain multi-turn conversation sessions
- Control tool permissions and safety settings
- Integrate with MCP (Model Context Protocol) servers
- Intercept and customize tool execution with hooks
Three-API Architecture
| API | Class | Programming Style | Best For |
|---|---|---|---|
| One-shot | Query | Static methods | CLI tools, scripts, simple queries |
| Blocking | ClaudeSyncClient | Iterator-based | Traditional applications, synchronous workflows |
| Reactive | ClaudeAsyncClient | Flux/Mono | Non-blocking applications, high concurrency |
ClaudeSyncClient and ClaudeAsyncClient support the full feature set: multi-turn conversations, hooks, MCP integration, and permission callbacks. They differ only in programming paradigm (blocking vs non-blocking).
Quick Start
Add the dependency to your project:Simple Query
Multi-Turn Conversation
Both clients support multi-turn conversations with full context preservation. Choose based on your programming paradigm preference:- Blocking
- Reactive
Documentation
API Reference
Complete API documentation for all classes, methods, and types
Tutorial
Step-by-step guide from basics to advanced patterns
Resources
- GitHub Repository - Source code and examples
- Claude Code Documentation - Official Claude Code docs