Changes for version 0.08 - 2026-01-11
- Async Support
- Async tool handlers: return Futures for non-blocking I/O
- Async hooks: callbacks can return Futures for async validation
- IO::Async::Loop passed to handlers/hooks for event-driven operations
- Backward compatible: sync handlers/hooks still work unchanged
- Debug Logging
- Comprehensive operational logging (set CLAUDE_AGENT_DEBUG=1)
- Message lifecycle: receive, queue, deliver, process
- Socket lifecycle: connect, accept, close
- Tool execution: start, complete, results
- Hook execution: matchers, decisions, blocked tools
- Examples
- examples/12-async-tool.pl: async tool patterns
- examples/13-async-hook.pl: async hook patterns
Modules
Perl SDK for the Claude Agent SDK
Persistent session client for Claude Agent SDK
Content block types for Claude Agent SDK
Text content block
Thinking content block
Tool result content block
Tool use content block
Dry-run mode support for Claude Agent SDK
Exception classes for Claude Agent SDK
CLI not found exception
Hook execution exception
JSON parsing exception
Permission denied exception
Process execution exception
Timeout exception
Hook system for Claude Agent SDK
Hook context for Claude Agent SDK
Executes Perl hooks for Claude Agent SDK
Hook matcher for Claude Agent SDK
Hook result factory for Claude Agent SDK
Configurable logging for Claude Agent SDK
MCP (Model Context Protocol) server integration
HTTP MCP server configuration
Header sensitivity utilities for MCP servers
MCP server runner for SDK tools
Socket-based MCP server for SDK tools
SSE MCP server configuration
SDK MCP server configuration
Stdio MCP server configuration
MCP tool definition
Message types for Claude Agent SDK
Assistant message type
Base class for message types
Result message type
System message type
User message type
Configuration options for Claude Agent queries
Permission handling for Claude Agent SDK
Permission context for Claude Agent SDK
Base class for permission results
Permission allow result
Permission deny result
Query iterator for Claude Agent SDK
Subagent definitions for Claude Agent SDK
Examples
- examples/01-basic-query.pl
- examples/02-custom-tools.pl
- examples/03-hooks.pl
- examples/04-permissions.pl
- examples/05-async-query.pl
- examples/06-client-session.pl
- examples/07-subagents.pl
- examples/08-structured-output.pl
- examples/09-error-handling.pl
- examples/10-mcp-servers.pl
- examples/11-dry-run.pl
- examples/12-async-tool.pl
- examples/13-async-hook.pl