NAME
Claude::Agent::Message::System - System message type
DESCRIPTION
Represents a system message from the SDK.
ATTRIBUTES
type - Always 'system'
subtype - The kind of system message ('init', 'status', etc.)
uuid - Unique message identifier
session_id - Session identifier
data - Additional data specific to the subtype
slash_commands - Available slash commands (init)
claude_code_version - Version of Claude Code CLI (init)
tools - Available tools (init)
output_style - Output formatting style (init)
plugins - Loaded plugins (init)
model - Active model name (init)
mcp_servers - MCP server configurations (init)
Note: The JSON format from the CLI may be an ArrayRef or HashRef depending on the CLI version. This differs from Claude::Agent::Options which uses HashRef for user-facing configuration.
api_key_source - Source of API key (init)
skills - Available skills (init)
permission_mode - Current permission mode (init)
cwd - Current working directory (init)
agents - Available agent definitions (init)
SUBTYPES
init - Initial message with session configuration
status - Status updates during execution
subagent_start - When a subagent is spawned
subagent_stop - When a subagent finishes
METHODS
get_session_id
my $id = $msg->get_session_id;
Helper for init messages to get session_id from data.
AUTHOR
LNATION, <email at lnation.org>
LICENSE
This software is Copyright (c) 2026 by LNATION.
This is free software, licensed under The Artistic License 2.0 (GPL Compatible).