Skip to main content

Crate claude_agent_sdk_rust

Crate claude_agent_sdk_rust 

Source
Expand description

Claude Agent SDK for Rust

Build production-ready AI agents with Claude Code.

§Quick Start

use claude_agent_sdk_rust::{query, ClaudeAgentOptions, Message};
use futures::StreamExt;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let stream = query("What is 2 + 2?", None).await?;
    let mut messages = Box::pin(stream);

    while let Some(msg) = messages.next().await {
        match msg? {
            Message::Assistant(assistant) => {
                println!("Claude: {:?}", assistant);
            }
            Message::Result(result) => {
                println!("Cost: ${:.4}", result.total_cost_usd.unwrap_or(0.0));
            }
            _ => {}
        }
    }

    Ok(())
}

Re-exports§

pub use callbacks::HookCallback;
pub use callbacks::PermissionCallback;
pub use client::ClaudeSDKClient;
pub use error::ClaudeSDKError;
pub use error::Result;
pub use types::AgentDefinition;
pub use types::AssistantMessage;
pub use types::ClaudeAgentOptions;
pub use types::ContentBlock;
pub use types::Effort;
pub use types::HookContext;
pub use types::HookEvent;
pub use types::HookInput;
pub use types::HookOutput;
pub use types::Message;
pub use types::MessageContent;
pub use types::PermissionMode;
pub use types::PermissionResult;
pub use types::ResultMessage;
pub use types::SandboxSettings;
pub use types::SdkPluginConfig;
pub use types::SettingSource;
pub use types::SystemPrompt;
pub use types::SystemPromptPreset;
pub use types::TextBlock;
pub use types::ThinkingConfig;
pub use types::ToolPermissionContext;
pub use types::ToolUseBlock;
pub use types::ToolsOption;
pub use types::UserMessage;

Modules§

callbacks
Callback infrastructure for hooks and permissions.
client
ClaudeSDKClient - Interactive bidirectional client for multi-turn conversations.
error
Error types for Claude Agent SDK.
parser
Message parser for Claude CLI output.
query
Query layer - Control protocol, message routing, and callback management.
transport
Transport layer for CLI communication.
types
Type definitions for Claude Agent SDK.

Functions§

query
Query Claude with a simple prompt.