pub struct SystemMessage {
pub subtype: String,
pub session_id: String,
pub cwd: String,
pub tools: Vec<String>,
pub mcp_servers: Vec<McpServerStatus>,
pub model: String,
pub extra: Value,
}Expand description
A system-level message. The first message emitted by the CLI is always a
system/init message that carries session bootstrap information.
Fields§
§subtype: StringDiscriminates between system message kinds (e.g., "init").
session_id: StringOpaque session identifier.
cwd: StringWorking directory of the Claude process.
tools: Vec<String>List of tool names available in this session.
mcp_servers: Vec<McpServerStatus>MCP server statuses reported at init.
model: StringModel identifier (e.g., "claude-opus-4-5").
extra: ValueForward-compatibility: absorbs any fields not explicitly listed above.
Trait Implementations§
Source§impl Clone for SystemMessage
impl Clone for SystemMessage
Source§fn clone(&self) -> SystemMessage
fn clone(&self) -> SystemMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SystemMessage
impl Debug for SystemMessage
Source§impl<'de> Deserialize<'de> for SystemMessage
impl<'de> Deserialize<'de> for SystemMessage
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
Source§impl PartialEq for SystemMessage
impl PartialEq for SystemMessage
Source§impl Serialize for SystemMessage
impl Serialize for SystemMessage
Source§impl TryFrom<&SystemMessage> for SessionInfo
impl TryFrom<&SystemMessage> for SessionInfo
impl StructuralPartialEq for SystemMessage
Auto Trait Implementations§
impl Freeze for SystemMessage
impl RefUnwindSafe for SystemMessage
impl Send for SystemMessage
impl Sync for SystemMessage
impl Unpin for SystemMessage
impl UnsafeUnpin for SystemMessage
impl UnwindSafe for SystemMessage
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> 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>
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 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>
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