# `Codex.Protocol.CollaborationMode`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.18.1/lib/codex/protocol/collaboration_mode.ex#L1)

Collaboration mode configuration with presets.

Collaboration modes define different interaction styles with the model:
- `:plan` - planning mode with high reasoning
- `:pair_programming` - interactive coding with medium reasoning
- `:code` - coding-focused preset
- `:default` - runtime default collaboration preset
- `:execute` - execution mode with high reasoning
- `:custom` - custom configuration

# `mode_kind`

```elixir
@type mode_kind() :: :plan | :pair_programming | :code | :default | :execute | :custom
```

# `t`

```elixir
@type t() :: %Codex.Protocol.CollaborationMode{
  developer_instructions: (String.t() | nil) | nil,
  extra: map(),
  mode: mode_kind(),
  model: String.t() | nil,
  reasoning_effort: (Codex.Models.reasoning_effort() | nil) | nil
}
```

Collaboration mode with settings

# `from_map`

```elixir
@spec from_map(map()) :: t()
```

# `parse`

```elixir
@spec parse(map() | keyword() | t()) ::
  {:ok, t()}
  | {:error,
     {:invalid_collaboration_mode, CliSubprocessCore.Schema.error_detail()}}
```

# `parse!`

```elixir
@spec parse!(map() | keyword() | t()) :: t()
```

# `schema`

```elixir
@spec schema() :: Zoi.schema()
```

# `to_map`

```elixir
@spec to_map(t()) :: map()
```

---

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