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

CLI binary discovery, version constraints, and shared flag builders.

Runtime overrides via Application config:

    config :claude_agent_sdk, ClaudeAgentSDK.Config.CLI,
      minimum_version: "2.1.0",
      recommended_version: "2.1.128"

# `executable_candidates`

```elixir
@spec executable_candidates() :: [String.t()]
```

Executable candidates tried during PATH search (default: `["claude-code", "claude"]`).

# `install_command`

```elixir
@spec install_command() :: String.t()
```

npm install command shown in error messages.

# `minimum_version`

```elixir
@spec minimum_version() :: String.t()
```

Minimum supported CLI version (default: `"2.1.0"`).

# `recommended_version`

```elixir
@spec recommended_version() :: String.t()
```

Recommended CLI version for this SDK release (default: `"2.1.128"`).

# `streaming_bidirectional_args`

```elixir
@spec streaming_bidirectional_args() :: [String.t()]
```

Bidirectional streaming args (adds `--input-format`).

Returns the full flag set for stdin+stdout streaming.

# `streaming_output_args`

```elixir
@spec streaming_output_args() :: [String.t()]
```

Standard streaming CLI args used across all transport/query modules.

Returns `["--output-format", "stream-json", "--verbose"]`.

---

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