pub struct ThreadOptions {Show 19 fields
pub working_directory: Option<PathBuf>,
pub model: Option<String>,
pub sandbox: SandboxPolicy,
pub approval: ApprovalPolicy,
pub additional_directories: Vec<PathBuf>,
pub skip_git_repo_check: bool,
pub reasoning_effort: Option<ReasoningEffort>,
pub network_access: Option<bool>,
pub web_search: Option<WebSearchMode>,
pub output_schema: Option<OutputSchema>,
pub ephemeral: bool,
pub images: Vec<PathBuf>,
pub local_provider: Option<String>,
pub system_prompt: Option<String>,
pub max_turns: Option<u32>,
pub max_budget_tokens: Option<u64>,
pub mcp_servers: McpServers,
pub hooks: Vec<HookMatcher>,
pub default_hook_timeout: Duration,
}Expand description
Options for a single thread (conversation).
Fields§
§working_directory: Option<PathBuf>Working directory for the thread.
model: Option<String>Model to use (e.g., “gpt-5-codex”, “o4-mini”).
sandbox: SandboxPolicySandbox policy.
approval: ApprovalPolicyApproval policy.
additional_directories: Vec<PathBuf>Additional writable directories (passed via --add-dir).
skip_git_repo_check: boolSkip git repository check.
reasoning_effort: Option<ReasoningEffort>Reasoning effort level.
network_access: Option<bool>Enable network access in sandbox.
web_search: Option<WebSearchMode>Web search mode.
output_schema: Option<OutputSchema>JSON Schema for structured output.
ephemeral: boolEphemeral mode — don’t persist session to disk.
images: Vec<PathBuf>Image file paths to include with the prompt.
local_provider: Option<String>Use local/OSS provider (lmstudio, ollama).
system_prompt: Option<String>System prompt override — passed to CLI via -c system_prompt="...".
max_turns: Option<u32>SDK-enforced maximum number of turns. The stream closes after this many
TurnCompleted events.
max_budget_tokens: Option<u64>SDK-enforced token budget. The stream closes when cumulative
Usage.output_tokens exceeds this value.
mcp_servers: McpServersMCP server configurations. Serialized to CLI config overrides.
hooks: Vec<HookMatcher>Hook matchers — evaluated in order on each stream event.
default_hook_timeout: DurationDefault timeout for hook callbacks (applied when HookMatcher.timeout is None).
Implementations§
Source§impl ThreadOptions
impl ThreadOptions
Sourcepub fn builder() -> ThreadOptionsBuilder<((), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ())>
pub fn builder() -> ThreadOptionsBuilder<((), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ())>
Create a builder for building ThreadOptions.
On the builder, call .working_directory(...)(optional), .model(...)(optional), .sandbox(...)(optional), .approval(...)(optional), .additional_directories(...)(optional), .skip_git_repo_check(...)(optional), .reasoning_effort(...)(optional), .network_access(...)(optional), .web_search(...)(optional), .output_schema(...)(optional), .ephemeral(...)(optional), .images(...)(optional), .local_provider(...)(optional), .system_prompt(...)(optional), .max_turns(...)(optional), .max_budget_tokens(...)(optional), .mcp_servers(...)(optional), .hooks(...)(optional), .default_hook_timeout(...)(optional) to set the values of the fields.
Finally, call .build() to create the instance of ThreadOptions.
Source§impl ThreadOptions
impl ThreadOptions
Sourcepub fn to_cli_args(&self) -> Vec<String>
pub fn to_cli_args(&self) -> Vec<String>
Convert thread options to CLI arguments for codex exec.
Trait Implementations§
Source§impl Clone for ThreadOptions
impl Clone for ThreadOptions
Source§fn clone(&self) -> ThreadOptions
fn clone(&self) -> ThreadOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ThreadOptions
impl Debug for ThreadOptions
Auto Trait Implementations§
impl Freeze for ThreadOptions
impl !RefUnwindSafe for ThreadOptions
impl Send for ThreadOptions
impl Sync for ThreadOptions
impl Unpin for ThreadOptions
impl UnsafeUnpin for ThreadOptions
impl !UnwindSafe for ThreadOptions
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
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