# `ClaudeAgentSDK.Session.SessionMessage`
[🔗](https://github.com/nshkrdotcom/claude_agent_sdk/blob/v0.17.2/lib/claude_agent_sdk/session/session_message.ex#L1)

Historical user or assistant message reconstructed from a Claude CLI transcript.

Returned by `ClaudeAgentSDK.get_session_messages/2` and
`ClaudeAgentSDK.Session.History.get_session_messages/2`.

# `message_type`

```elixir
@type message_type() :: String.t()
```

# `t`

```elixir
@type t() :: %ClaudeAgentSDK.Session.SessionMessage{
  message: map() | nil,
  parent_tool_use_id: nil,
  session_id: String.t(),
  type: message_type(),
  uuid: String.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
