Skip to contents

Core Client

High-level stateful client for multi-turn conversations.

ClaudeSDKClient
ClaudeSDKClient R6 Class
ClaudeAgentOptions()
Create ClaudeAgentOptions

One-Shot Query

Simple functions for single-turn queries without managing a client.

claude_query()
Query Claude Code (streaming generator)
claude_run()
Run Claude Code synchronously and collect all messages

Session Management

Read and browse saved Claude Code sessions from disk.

list_sessions()
List Claude Code sessions
get_session_info()
Get metadata for a single session
get_session_messages()
Get conversation messages from a session

Session Mutations

Rename, tag, delete, or fork existing sessions.

rename_session()
Rename a session
tag_session()
Tag a session
delete_session()
Delete a session
fork_session()
Fork a session

Permission Types

Return values for can_use_tool callbacks and message-driven approval.

PermissionResultAllow()
Allow permission result
PermissionResultDeny()
Deny permission result
PermissionRequestMessage()
Create a PermissionRequestMessage
PermissionRuleValue()
Create a PermissionRuleValue
PermissionUpdate()
Create a PermissionUpdate

Message Types

S3 classes representing messages yielded by claude_query() and the client.

UserMessage()
Create a UserMessage
AssistantMessage()
Create an AssistantMessage
SystemMessage()
Create a SystemMessage
ResultMessage()
Create a ResultMessage
StreamEvent()
Create a StreamEvent
RateLimitEvent()
Create a RateLimitEvent
RateLimitInfo()
Create a RateLimitInfo
TaskStartedMessage()
Create a TaskStartedMessage
TaskProgressMessage()
Create a TaskProgressMessage
TaskNotificationMessage()
Create a TaskNotificationMessage

Content Block Types

Blocks that appear inside AssistantMessage$content.

TextBlock()
Create a TextBlock
ThinkingBlock()
Create a ThinkingBlock
ToolUseBlock()
Create a ToolUseBlock
ToolResultBlock()
Create a ToolResultBlock

Hook Types

Input and output types for the hook system.

PreToolUseHookInput()
Create a PreToolUseHookInput
PostToolUseHookInput()
Create a PostToolUseHookInput
PostToolUseFailureHookInput()
Create a PostToolUseFailureHookInput
UserPromptSubmitHookInput()
Create a UserPromptSubmitHookInput
StopHookInput()
Create a StopHookInput
SubagentStopHookInput()
Create a SubagentStopHookInput
SubagentStartHookInput()
Create a SubagentStartHookInput
PreCompactHookInput()
Create a PreCompactHookInput
NotificationHookInput()
Create a NotificationHookInput
PermissionRequestHookInput()
Create a PermissionRequestHookInput
SyncHookOutput()
Create a SyncHookOutput
AsyncHookOutput()
Create an AsyncHookOutput
HookMatcher()
Create a HookMatcher

Agent & MCP Types

Configuration and status types for agents and MCP servers.

AgentDefinition()
Create an AgentDefinition
McpToolInfo()
Create a McpToolInfo
McpServerInfo()
Create a McpServerInfo
McpServerStatus()
Create a McpServerStatus
McpStatusResponse()
Create a McpStatusResponse

Thinking & Effort Types

Configuration for extended thinking / effort level.

ThinkingConfigAdaptive()
Create a ThinkingConfigAdaptive
ThinkingConfigEnabled()
Create a ThinkingConfigEnabled
ThinkingConfigDisabled()
Create a ThinkingConfigDisabled

System Prompt & Sandbox Types

Typed helpers for system prompt and sandbox configuration.

SystemPromptPreset()
Create a SystemPromptPreset
SystemPromptFile()
Create a SystemPromptFile
SandboxSettings()
Create SandboxSettings
SandboxNetworkConfig()
Create a SandboxNetworkConfig
SandboxIgnoreViolations()
Create a SandboxIgnoreViolations

Task & Context Budget Types

Budget and usage tracking for API tasks.

TaskBudget()
Create a TaskBudget
TaskUsage()
Create a TaskUsage
ContextUsageCategory()
Create a ContextUsageCategory
ContextUsageResponse()
Create a ContextUsageResponse

Utilities

Helper functions for CLI discovery and MCP server setup.

find_claude()
Find the Claude Code CLI binary
check_claude_version()
Check Claude Code CLI version
list_skills()
List available Claude Code skills
r_mcp_server()
Create an R-based MCP server entry for mcp_servers
split_lines_with_buffer()
Split buffered output into complete lines

Error Constructors

Typed error objects raised by the SDK.

claude_cli_not_found()
Raise CLINotFoundError
claude_cli_connection_error()
Raise CLIConnectionError
claude_process_error()
Raise ProcessError
claude_json_decode_error()
Raise CLIJSONDecodeError
claude_message_parse_error()
Raise MessageParseError