# `ClaudeAgentSDK.Config`
[🔗](https://github.com/nshkrdotcom/claude_agent_sdk/blob/v0.17.2/lib/claude_agent_sdk/config.ex#L1)

Top-level configuration facade for the SDK.

Provides accessor functions for mock mode and CLI stream module
selection, with deprecation handling for legacy keys.

Domain-specific configuration is delegated to sub-modules:

- `ClaudeAgentSDK.Config.Timeouts`      — all timeout values
- `ClaudeAgentSDK.Config.Buffers`        — buffer sizes, truncation
- `ClaudeAgentSDK.Config.Auth`           — auth paths, TTLs, prefixes
- `ClaudeAgentSDK.Config.CLI`            — CLI versions, flags, paths
- `ClaudeAgentSDK.Config.Env`            — environment variable names
- `ClaudeAgentSDK.Config.Orchestration`  — concurrency, retries

## Runtime Configuration

Every value can be overridden via `config :claude_agent_sdk`:

    config :claude_agent_sdk, ClaudeAgentSDK.Config.Timeouts,
      client_init_ms: 90_000,
      query_total_ms: 5_400_000

    config :claude_agent_sdk, ClaudeAgentSDK.Config.Buffers,
      max_stdout_buffer_bytes: 2_097_152

See the **Configuration Internals** guide for the complete reference.

# `cli_stream_module`

```elixir
@spec cli_stream_module() :: module()
```

# `use_mock?`

```elixir
@spec use_mock?() :: boolean()
```

---

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