pub struct Settings {Show 46 fields
pub last_changelog_version: Option<String>,
pub default_provider: Option<String>,
pub default_model: Option<String>,
pub default_thinking_level: Option<ModelThinkingLevel>,
pub transport: Option<Transport>,
pub steering_mode: Option<QueueMode>,
pub follow_up_mode: Option<QueueMode>,
pub theme: Option<String>,
pub compaction: Option<CompactionSettings>,
pub branch_summary: Option<BranchSummarySettings>,
pub retry: Option<RetrySettings>,
pub hide_thinking_block: Option<bool>,
pub show_cache_miss_notices: Option<bool>,
pub external_editor: Option<String>,
pub shell_path: Option<String>,
pub quiet_startup: Option<bool>,
pub default_project_trust: Option<DefaultProjectTrust>,
pub shell_command_prefix: Option<String>,
pub npm_command: Option<Vec<String>>,
pub collapse_changelog: Option<bool>,
pub enable_install_telemetry: Option<bool>,
pub enable_analytics: Option<bool>,
pub tracking_id: Option<String>,
pub packages: Option<Vec<PackageSource>>,
pub extensions: Option<Vec<String>>,
pub skills: Option<Vec<String>>,
pub prompts: Option<Vec<String>>,
pub themes: Option<Vec<String>>,
pub enable_skill_commands: Option<bool>,
pub terminal: Option<TerminalSettings>,
pub images: Option<ImageSettings>,
pub enabled_models: Option<Vec<String>>,
pub double_escape_action: Option<DoubleEscapeAction>,
pub tree_filter_mode: Option<TreeFilterMode>,
pub thinking_budgets: Option<ThinkingBudgetsSettings>,
pub editor_padding_x: Option<u64>,
pub output_pad: Option<OutputPad>,
pub autocomplete_max_visible: Option<u64>,
pub show_hardware_cursor: Option<bool>,
pub markdown: Option<MarkdownSettings>,
pub warnings: Option<WarningSettings>,
pub session_dir: Option<String>,
pub http_proxy: Option<String>,
pub http_idle_timeout_ms: Option<u64>,
pub websocket_connect_timeout_ms: Option<u64>,
pub extra: Map<String, Value>,
}Expand description
Typed view over a settings document.
Every field mirrors the TypeScript Settings interface. Unknown keys are
preserved in Self::extra; a known key whose stored value has the wrong
JSON type reads as None here while remaining untouched on disk.
Fields§
§last_changelog_version: Option<String>Last changelog version acknowledged by the user.
default_provider: Option<String>Default provider identifier.
default_model: Option<String>Default model identifier.
default_thinking_level: Option<ModelThinkingLevel>Default thinking level (wire includes "off").
transport: Option<Transport>Streaming transport preference (default: auto).
steering_mode: Option<QueueMode>Steering queue drain mode (default: one-at-a-time).
follow_up_mode: Option<QueueMode>Follow-up queue drain mode (default: one-at-a-time).
theme: Option<String>Theme name or path.
compaction: Option<CompactionSettings>Compaction settings.
branch_summary: Option<BranchSummarySettings>Branch-summary settings.
retry: Option<RetrySettings>Retry settings.
hide_thinking_block: Option<bool>Hide thinking blocks in the transcript (default: false).
show_cache_miss_notices: Option<bool>Show prompt-cache-miss transcript notices (default: false).
external_editor: Option<String>Command for the Ctrl+G external editor; takes precedence over VISUAL/EDITOR.
shell_path: Option<String>Custom shell path; supports leading ~ expansion.
quiet_startup: Option<bool>Suppress startup output (default: false).
default_project_trust: Option<DefaultProjectTrust>Default project trust decision; honored from the global file only.
shell_command_prefix: Option<String>Prefix prepended to every bash command.
npm_command: Option<Vec<String>>argv-style command used for npm lookup/install operations.
collapse_changelog: Option<bool>Show condensed changelog after update (default: false).
enable_install_telemetry: Option<bool>Anonymous version/update ping after updates (default: true).
enable_analytics: Option<bool>Opt-in analytics data sharing (default: false).
tracking_id: Option<String>Analytics tracking identifier, generated on first analytics opt-in.
packages: Option<Vec<PackageSource>>npm/git package sources.
extensions: Option<Vec<String>>Local extension file paths or directories.
skills: Option<Vec<String>>Local skill file paths or directories.
prompts: Option<Vec<String>>Local prompt template paths or directories.
themes: Option<Vec<String>>Local theme file paths or directories.
enable_skill_commands: Option<bool>Register skills as /skill:name commands (default: true).
terminal: Option<TerminalSettings>Terminal settings.
images: Option<ImageSettings>Image settings.
enabled_models: Option<Vec<String>>Model patterns for cycling (same format as --models).
double_escape_action: Option<DoubleEscapeAction>Double-escape action with empty editor (default: tree).
tree_filter_mode: Option<TreeFilterMode>Default /tree filter.
thinking_budgets: Option<ThinkingBudgetsSettings>Custom token budgets for thinking levels.
editor_padding_x: Option<u64>Horizontal input-editor padding (default: 0).
output_pad: Option<OutputPad>Horizontal chat-output padding (default: 1).
autocomplete_max_visible: Option<u64>Max visible autocomplete items (default: 5).
show_hardware_cursor: Option<bool>Show the terminal cursor while still positioning it for IME.
markdown: Option<MarkdownSettings>Markdown rendering settings.
warnings: Option<WarningSettings>Warning toggles.
session_dir: Option<String>Custom session storage directory (same format as --session-dir).
http_proxy: Option<String>Proxy URL applied as HTTP_PROXY/HTTPS_PROXY for managed HTTP clients.
http_idle_timeout_ms: Option<u64>HTTP header/body idle timeout in milliseconds; 0 disables.
websocket_connect_timeout_ms: Option<u64>WebSocket connect/open handshake timeout in milliseconds; 0 disables.
extra: Map<String, Value>Unknown top-level keys preserved from the raw document.
Implementations§
Trait Implementations§
impl StructuralPartialEq for Settings
Auto Trait Implementations§
impl Freeze for Settings
impl RefUnwindSafe for Settings
impl Send for Settings
impl Sync for Settings
impl Unpin for Settings
impl UnsafeUnpin 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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more