# `ClaudeAgentSDK.Schema.ControlProtocol`
[🔗](https://github.com/nshkrdotcom/claude_agent_sdk/blob/v0.21.0/lib/claude_agent_sdk/schema/control_protocol.ex#L1)

Claude-owned schema validation for control protocol request and response
frames.

# `parse_message`

```elixir
@spec parse_message(map()) ::
  {:ok, map()}
  | {:error,
     {:invalid_control_protocol_message,
      CliSubprocessCore.Schema.error_detail()}}
```

# `validate_hook_response!`

```elixir
@spec validate_hook_response!(map()) :: map()
```

# `validate_initialize_request!`

```elixir
@spec validate_initialize_request!(map()) :: map()
```

---

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