pub struct Thread {Show 28 fields
pub agent_nickname: Option<String>,
pub agent_role: Option<String>,
pub cli_version: String,
pub created_at: i64,
pub cwd: AbsolutePathBuf,
pub ephemeral: bool,
pub forked_from_id: Option<String>,
pub git_info: Option<GitInfo>,
pub history_mode: Option<ThreadHistoryMode>,
pub id: String,
pub model: Option<String>,
pub model_provider: String,
pub name: Option<String>,
pub originator: Option<String>,
pub parent_thread_id: Option<String>,
pub path: Option<String>,
pub preview: String,
pub project_id: Option<String>,
pub reasoning_effort: Option<ReasoningEffort>,
pub recency_at: Option<i64>,
pub section: Option<ThreadSection>,
pub section_entered_at: Option<i64>,
pub session_id: String,
pub source: SessionSource,
pub status: ThreadStatus,
pub thread_source: Option<ThreadSource>,
pub turns: Vec<Turn>,
pub updated_at: i64,
}Fields§
§agent_nickname: Option<String>Optional random unique nickname assigned to an AgentControl-spawned sub-agent.
agent_role: Option<String>Optional role (agent_role) assigned to an AgentControl-spawned sub-agent.
cli_version: StringVersion of the CLI that created the thread.
created_at: i64Unix timestamp (in seconds) when the thread was created.
cwd: AbsolutePathBufWorking directory captured for the thread.
ephemeral: boolWhether the thread is ephemeral and should not be materialized on disk.
forked_from_id: Option<String>Source thread id when this thread was created by forking another thread.
git_info: Option<GitInfo>Optional Git metadata captured when the thread was created.
history_mode: Option<ThreadHistoryMode>Persisted thread history contract selected when this thread was created.
id: StringIdentifier for this thread. Codex-generated thread IDs are UUIDv7.
model: Option<String>Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.
model_provider: StringModel provider used for this thread (for example, ‘openai’).
name: Option<String>Optional user-facing thread title.
originator: Option<String>Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.
parent_thread_id: Option<String>The ID of the parent thread. This will only be set if this thread is a subagent.
path: Option<String>[UNSTABLE] Path to the thread on disk.
preview: StringUsually the first user message in the thread, if available.
project_id: Option<String>Canonical project assignment owned by app-server, if any.
reasoning_effort: Option<ReasoningEffort>Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.
recency_at: Option<i64>Unix timestamp (in seconds) used for thread recency ordering.
section: Option<ThreadSection>The independently persisted section selected for this thread, if any.
section_entered_at: Option<i64>Unix timestamp in seconds when the thread entered its current section.
session_id: StringSession id shared by threads that belong to the same session tree.
source: SessionSourceOrigin of the thread (CLI, VSCode, codex exec, codex app-server, etc.).
status: ThreadStatusCurrent runtime status for the thread.
thread_source: Option<ThreadSource>Optional analytics source classification for this thread.
turns: Vec<Turn>Only populated on thread/resume, thread/fork, and thread/read (when includeTurns is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.
updated_at: i64Unix timestamp (in seconds) when the thread was last updated.