pub struct SessionOptions {
pub model: Option<String>,
pub permission_mode: Option<PermissionMode>,
pub max_budget_usd: Option<f64>,
pub max_turns: Option<u32>,
pub max_thinking_tokens: Option<u32>,
pub system_prompt: Option<String>,
pub include_partial_messages: bool,
}Expand description
Simplified session options for V2 API
SessionOptions contains only the most commonly used configuration parameters,
making it easier to configure Claude compared to the full ClaudeAgentOptions.
For advanced configuration, convert to ClaudeAgentOptions using .into().
§Example
use claude_agent_sdk::v2::SessionOptions;
use claude_agent_sdk::v2::PermissionMode;
// Default configuration
let options = SessionOptions::default();
// Custom configuration
let options = SessionOptions::builder()
.model("claude-sonnet-4-20250514".to_string())
.max_turns(10)
.permission_mode(PermissionMode::BypassPermissions)
.build();Fields§
§model: Option<String>Model to use (None = system default)
permission_mode: Option<PermissionMode>Permission mode for tool execution
max_budget_usd: Option<f64>Maximum budget in USD (None = no limit)
max_turns: Option<u32>Maximum number of conversation turns
max_thinking_tokens: Option<u32>Maximum thinking tokens for extended thinking
system_prompt: Option<String>Custom system prompt
include_partial_messages: boolWhether to include partial messages in stream
Implementations§
Source§impl SessionOptions
impl SessionOptions
Sourcepub fn builder() -> SessionOptionsBuilder<((), (), (), (), (), (), ())>
pub fn builder() -> SessionOptionsBuilder<((), (), (), (), (), (), ())>
Create a builder for building SessionOptions.
On the builder, call .model(...)(optional), .permission_mode(...)(optional), .max_budget_usd(...)(optional), .max_turns(...)(optional), .max_thinking_tokens(...)(optional), .system_prompt(...)(optional), .include_partial_messages(...)(optional) to set the values of the fields.
Finally, call .build() to create the instance of SessionOptions.
Trait Implementations§
Source§impl Clone for SessionOptions
impl Clone for SessionOptions
Source§fn clone(&self) -> SessionOptions
fn clone(&self) -> SessionOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more