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:
ClaudeAgentSDK.Env.get(ClaudeAgentSDK.Config.Env.anthropic_api_key())
Summary
Functions
Every environment variable name the SDK reads, as a flat list.
Anthropic API key env var ("ANTHROPIC_API_KEY").
Anthropic auth token env var ("ANTHROPIC_AUTH_TOKEN").
Anthropic-compatible base URL env var ("ANTHROPIC_BASE_URL").
Anthropic model env var ("ANTHROPIC_MODEL").
"AWS_ACCESS_KEY_ID"
"AWS_PROFILE"
"CI"
Legacy Claude Code internal env var that must not be inherited.
SDK entrypoint identifier ("CLAUDE_CODE_ENTRYPOINT").
SDK external model overrides JSON ("CLAUDE_AGENT_EXTERNAL_MODEL_OVERRIDES").
File checkpointing flag ("CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING").
"GOOGLE_APPLICATION_CREDENTIALS"
"GOOGLE_CLOUD_PROJECT"
"LIVE_MODE"
"LIVE_TESTS"
OAuth token env var ("CLAUDE_AGENT_OAUTH_TOKEN").
Environment variables automatically forwarded to CLI subprocesses.
SDK model backend selector ("CLAUDE_AGENT_PROVIDER_BACKEND").
SDK version injection ("CLAUDE_AGENT_SDK_VERSION").
Skip version check flag ("CLAUDE_AGENT_SDK_SKIP_VERSION_CHECK").
Filters an OS environment map down to the variables the SDK reads.
Stream close timeout override ("CLAUDE_CODE_STREAM_CLOSE_TIMEOUT").
W3C trace context parent header env var ("TRACEPARENT").
W3C trace context state header env var ("TRACESTATE").
Bedrock provider flag ("CLAUDE_AGENT_USE_BEDROCK").
Vertex AI provider flag ("CLAUDE_AGENT_USE_VERTEX").
Functions
@spec all_known_vars() :: [String.t()]
Every environment variable name the SDK reads, as a flat list.
This is the allowlist behind the config/runtime.exs snapshot: only these
names (plus the CLAUDE_/ANTHROPIC_ prefixes, see snapshot/1) are
copied from the OS environment into Application config. Add new variables
here when introducing a new read.
@spec anthropic_api_key() :: String.t()
Anthropic API key env var ("ANTHROPIC_API_KEY").
@spec anthropic_auth_token() :: String.t()
Anthropic auth token env var ("ANTHROPIC_AUTH_TOKEN").
@spec anthropic_base_url() :: String.t()
Anthropic-compatible base URL env var ("ANTHROPIC_BASE_URL").
@spec anthropic_model() :: String.t()
Anthropic model env var ("ANTHROPIC_MODEL").
@spec aws_access_key_id() :: String.t()
"AWS_ACCESS_KEY_ID"
@spec aws_profile() :: String.t()
"AWS_PROFILE"
@spec ci() :: String.t()
"CI"
@spec claudecode() :: String.t()
Legacy Claude Code internal env var that must not be inherited.
@spec entrypoint() :: String.t()
SDK entrypoint identifier ("CLAUDE_CODE_ENTRYPOINT").
@spec external_model_overrides() :: String.t()
SDK external model overrides JSON ("CLAUDE_AGENT_EXTERNAL_MODEL_OVERRIDES").
@spec file_checkpointing() :: String.t()
File checkpointing flag ("CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING").
@spec gcp_credentials() :: String.t()
"GOOGLE_APPLICATION_CREDENTIALS"
@spec gcp_project() :: String.t()
"GOOGLE_CLOUD_PROJECT"
@spec live_mode() :: String.t()
"LIVE_MODE"
@spec live_tests() :: String.t()
"LIVE_TESTS"
@spec oauth_token() :: String.t()
OAuth token env var ("CLAUDE_AGENT_OAUTH_TOKEN").
@spec passthrough_vars() :: [String.t()]
Environment variables automatically forwarded to CLI subprocesses.
Returns ["CLAUDE_AGENT_OAUTH_TOKEN", "ANTHROPIC_API_KEY", "PATH", "HOME"].
@spec provider_backend() :: String.t()
SDK model backend selector ("CLAUDE_AGENT_PROVIDER_BACKEND").
@spec sdk_version() :: String.t()
SDK version injection ("CLAUDE_AGENT_SDK_VERSION").
@spec skip_version_check() :: String.t()
Skip version check flag ("CLAUDE_AGENT_SDK_SKIP_VERSION_CHECK").
Filters an OS environment map down to the variables the SDK reads.
Keeps all_known_vars/0 plus anything under the CLAUDE_/ANTHROPIC_
namespaces (so a newly introduced SDK/CLI variable cannot be silently
dropped), and excludes everything else — unrelated secrets in the parent
environment must not be copied into inspectable Application config.
@spec stream_close_timeout() :: String.t()
Stream close timeout override ("CLAUDE_CODE_STREAM_CLOSE_TIMEOUT").
@spec traceparent() :: String.t()
W3C trace context parent header env var ("TRACEPARENT").
@spec tracestate() :: String.t()
W3C trace context state header env var ("TRACESTATE").
@spec use_bedrock() :: String.t()
Bedrock provider flag ("CLAUDE_AGENT_USE_BEDROCK").
@spec use_vertex() :: String.t()
Vertex AI provider flag ("CLAUDE_AGENT_USE_VERTEX").