pub struct Settings {
pub system_prompt: Option<String>,
pub permission_mode: Option<String>,
pub model: Option<String>,
pub small_fast_model: Option<String>,
pub api_base_url: Option<String>,
pub always_thinking_enabled: Option<bool>,
pub allowed_tools: Option<Vec<String>>,
pub denied_tools: Option<Vec<String>>,
pub permissions: Option<PermissionSettings>,
pub mcp_servers: Option<HashMap<String, McpServerConfig>>,
pub env: Option<HashMap<String, String>>,
pub extra: HashMap<String, Value>,
}Expand description
Claude Code settings structure
This mirrors the settings structure used by Claude Code.
Fields§
§system_prompt: Option<String>Custom system prompt additions
permission_mode: Option<String>Permission mode settings
model: Option<String>Model to use
small_fast_model: Option<String>Small/fast model for quick operations
api_base_url: Option<String>API base URL override
always_thinking_enabled: Option<bool>Always enable extended thinking mode When true, MAX_THINKING_TOKENS will be set to a default value
allowed_tools: Option<Vec<String>>Allowed tools list (legacy, use permissions instead)
denied_tools: Option<Vec<String>>Denied tools list (legacy, use permissions instead)
permissions: Option<PermissionSettings>Permission settings with allow/deny/ask rules
mcp_servers: Option<HashMap<String, McpServerConfig>>MCP servers configuration
env: Option<HashMap<String, String>>Custom environment variables
extra: HashMap<String, Value>Additional settings as raw JSON
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Settings
impl<'de> Deserialize<'de> for Settings
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Settings
impl RefUnwindSafe for Settings
impl Send for Settings
impl Sync for Settings
impl Unpin for Settings
impl UnwindSafe for Settings
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
fn into_option(self) -> Option<T>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request