Skip to main content

claude_agent/session/state/
config.rs

1//! Session configuration.
2
3use serde::{Deserialize, Serialize};
4
5use super::policy::SessionPermissions;
6
7#[derive(Clone, Debug, Serialize, Deserialize)]
8pub struct SessionConfig {
9    pub model: String,
10    pub max_tokens: u32,
11    #[serde(default)]
12    pub permissions: SessionPermissions,
13    pub ttl_secs: Option<u64>,
14    pub system_prompt: Option<String>,
15}
16
17impl Default for SessionConfig {
18    fn default() -> Self {
19        Self {
20            model: "claude-sonnet-4-5".to_string(),
21            max_tokens: 16384,
22            permissions: SessionPermissions::default(),
23            ttl_secs: None,
24            system_prompt: None,
25        }
26    }
27}