This project has moved from
spring-ai-community/agent-client to
markpollack/agent-client. The Maven groupId changed from
org.springaicommunity.agents to io.github.markpollack.org.springaicommunity package, so the starters failed to auto-configure (ClassNotFoundException) at boot. No public API changes.
0.24.0: Compatibility fix β agent-claude now builds against agent-journal 1.6.0, restoring Claude trace-wiring for Spring Boot consumers on agentworks-bom 1.12.0+ (journal 1.5.0 had relocated TraceContentMode). No public API changes.
0.23.0 highlights: Upgraded to Spring AI 2.0.0 GA on Spring Boot 4.0.7, clearing transitive Boot and Spring AI CVEs. Spring AI 2.0 moves to Jackson 3, so Jackson 2 usage is now declared explicitly. Default Gemini model is now gemini-3.5-flash. Still current from 0.21.0: portable reasoning effort (low/medium/high) via AgentOptions.getEffort(), with provider-native overrides for Claude (--effort, up to max) and Codex (model_reasoning_effort, up to xhigh). Dependency: claude-code-sdk 1.4.0.
Architecture
Three layers, each usable independently:Providers
Claude Code, Codex (OpenAI), Gemini CLI, Amazon Q, Amp. Provider selection at construction time β everything afterAgentClient.create(model) is portable.
LOOSE / STRICT Modes
AgentClientMode controls default permissiveness. LOOSE (default) bypasses sandbox restrictions and git checks for frictionless evaluation. STRICT requires explicit opt-in.
Documentation
Getting Started
Plain Java quick start β create your first agent task
Tutorial
Step-by-step lessons from first task to multi-provider
Claude Reference
18 configuration options, trace files, authentication
Portable Options
Configuration precedence, LOOSE/STRICT modes
Source
GitHub
Source code, examples, and getting started guide
Related
Agent Sandbox
Isolated execution β local, Docker, or E2B cloud
Agent Workflow
Uses Agent Client for
ClaudeStep and AgentClientStep