New Features
- Hook event streaming: Added
include_hook_eventsoption toClaudeAgentOptions. When set, hook events (PreToolUse, PostToolUse, Stop, etc.) are emitted by the CLI and yielded from the message stream asHookEventMessage, matching the TypeScript SDK'sincludeHookEvents(#917) - Defer hook decision: Added support for the
"defer"hook decision inPreToolUseHookSpecificOutput.permissionDecisionand newDeferredToolUsedataclass onResultMessage.deferred_tool_use, bringing parity with the TypeScript SDK's deferred tool use round trip (#865) - Strict MCP config: Added
strict_mcp_configoption toClaudeAgentOptions. WhenTrue, the CLI only uses MCP servers passed viamcp_servers, ignoring project, user, and global MCP configurations for fully deterministic server sets (#915) - Permission context enrichment: Added
decision_reason,blocked_path,title,display_name, anddescriptionfields toToolPermissionContext, enabling richer permission prompts incan_use_toolcallbacks (#909) updatedToolOutputfor post-tool hooks: AddedupdatedToolOutputtoPostToolUseHookSpecificOutputfor replacing any tool's output before it reaches the model, not just MCP tools (#911)xhigheffort level: Added"xhigh"to theeffortLiteral onClaudeAgentOptionsandAgentDefinition, an Opus 4.7-specific level that falls back tohighon other models (#914)- Subprocess cleanup on parent exit: Registered an atexit handler to terminate live CLI subprocesses when the parent process exits, preventing orphaned
claudeprocesses from leaking (#916)
Bug Fixes
- ResourceWarning on disconnect: Fixed
ResourceWarning: Unclosed <MemoryObjectReceiveStream>emitted onClaudeSDKClientdisconnect andquery()cleanup by closing the receive stream at the consumer boundary (#908) - Session
created_attimestamp: Fixedlist_sessions()returningcreated_at=Nonefor sessions whose first JSONL record lacks atimestampfield by scanning the full head buffer instead of only the first line (#907)
Documentation
- Clarified that
can_use_toolfires only on"ask"permission decisions, not on"allow"or"deny"(#912)
Internal/Other Changes
- Updated bundled Claude CLI to version 2.1.129
PyPI: https://pypi.org/project/claude-agent-sdk/0.1.74/
pip install claude-agent-sdk==0.1.74