Skip to main content

ThreadOptions

Struct ThreadOptions 

Source
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: SandboxPolicy

Sandbox policy.

§approval: ApprovalPolicy

Approval policy.

§additional_directories: Vec<PathBuf>

Additional writable directories (passed via --add-dir).

§skip_git_repo_check: bool

Skip 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: bool

Ephemeral 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: McpServers

MCP server configurations. Serialized to CLI config overrides.

§hooks: Vec<HookMatcher>

Hook matchers — evaluated in order on each stream event.

§default_hook_timeout: Duration

Default timeout for hook callbacks (applied when HookMatcher.timeout is None).

Implementations§

Source§

impl ThreadOptions

Source

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

Source

pub fn to_cli_args(&self) -> Vec<String>

Convert thread options to CLI arguments for codex exec.

Trait Implementations§

Source§

impl Clone for ThreadOptions

Source§

fn clone(&self) -> ThreadOptions

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ThreadOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ThreadOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more