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

Canonical registry of all environment variable names the SDK reads.

Using this module instead of bare string literals eliminates typo risk
and provides a single grep-able registry:

    System.get_env(ClaudeAgentSDK.Config.Env.anthropic_api_key())

# `anthropic_api_key`

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

Anthropic API key env var (`"ANTHROPIC_API_KEY"`).

# `anthropic_auth_token`

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

Anthropic auth token env var (`"ANTHROPIC_AUTH_TOKEN"`).

# `anthropic_base_url`

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

Anthropic-compatible base URL env var (`"ANTHROPIC_BASE_URL"`).

# `anthropic_model`

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

Anthropic model env var (`"ANTHROPIC_MODEL"`).

# `aws_access_key_id`

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

`"AWS_ACCESS_KEY_ID"`

# `aws_profile`

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

`"AWS_PROFILE"`

# `ci`

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

`"CI"`

# `entrypoint`

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

SDK entrypoint identifier (`"CLAUDE_CODE_ENTRYPOINT"`).

# `external_model_overrides`

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

SDK external model overrides JSON (`"CLAUDE_AGENT_EXTERNAL_MODEL_OVERRIDES"`).

# `file_checkpointing`

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

File checkpointing flag (`"CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING"`).

# `gcp_credentials`

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

`"GOOGLE_APPLICATION_CREDENTIALS"`

# `gcp_project`

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

`"GOOGLE_CLOUD_PROJECT"`

# `live_mode`

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

`"LIVE_MODE"`

# `live_tests`

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

`"LIVE_TESTS"`

# `oauth_token`

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

OAuth token env var (`"CLAUDE_AGENT_OAUTH_TOKEN"`).

# `passthrough_vars`

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

Environment variables automatically forwarded to CLI subprocesses.

Returns `["CLAUDE_AGENT_OAUTH_TOKEN", "ANTHROPIC_API_KEY", "PATH", "HOME"]`.

# `provider_backend`

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

SDK model backend selector (`"CLAUDE_AGENT_PROVIDER_BACKEND"`).

# `sdk_version`

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

SDK version injection (`"CLAUDE_AGENT_SDK_VERSION"`).

# `skip_version_check`

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

Skip version check flag (`"CLAUDE_AGENT_SDK_SKIP_VERSION_CHECK"`).

# `stream_close_timeout`

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

Stream close timeout override (`"CLAUDE_CODE_STREAM_CLOSE_TIMEOUT"`).

# `use_bedrock`

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

Bedrock provider flag (`"CLAUDE_AGENT_USE_BEDROCK"`).

# `use_vertex`

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

Vertex AI provider flag (`"CLAUDE_AGENT_USE_VERTEX"`).

---

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