Claude Code Environment Variables Reference

Written by Michael Lip · Solo founder of Zovo · $400K+ on Upwork · 100% JSS Join 50+ builders · More at zovo.one

The Problem

You need to configure Claude Code behavior through environment variables for proxy settings, API keys, model selection, MCP timeouts, or debug logging, but you do not know which variables exist or how to set them permanently.

Quick Fix

Set environment variables before launching Claude Code or add them to settings.json:

# One-time use
ANTHROPIC_MODEL=claude-sonnet-4-6 claude

# Permanent via settings
{
  "env": {
    "ANTHROPIC_MODEL": "claude-sonnet-4-6",
    "MCP_TIMEOUT": "10000"
  }
}

What’s Happening

Claude Code reads environment variables from your shell and from the env key in settings.json files. Shell variables apply to the current session; settings.json variables apply to every session. When both are set, the shell environment takes precedence.

Settings.json supports user scope (~/.claude/settings.json) for personal configuration, project scope (.claude/settings.json) for team configuration, and managed scope for organization-wide enforcement.

Step-by-Step Fix

Essential variables

API authentication

# Direct Anthropic API
export ANTHROPIC_API_KEY=sk-ant-...

# Custom API key helper script
# Outputs key to stdout, used as X-Api-Key and Authorization: Bearer

In settings.json, use apiKeyHelper instead of storing keys directly:

{
  "apiKeyHelper": "/path/to/generate-api-key.sh"
}

Model selection

# Override the default model
export ANTHROPIC_MODEL=claude-sonnet-4-6

Or set it in settings.json with the effortLevel key:

{
  "effortLevel": "medium"
}

Effort levels (low, medium, high) are supported on Opus 4.6 and Sonnet 4.6.

Proxy and network configuration

# HTTP proxy for all outbound requests
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080

# Corporate CA certificate for TLS inspection
export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem

MCP configuration variables

# MCP server startup timeout in milliseconds (default varies)
export MCP_TIMEOUT=10000

# Maximum MCP tool output tokens before warning (default: 10000)
export MAX_MCP_OUTPUT_TOKENS=50000

Provider-specific variables

AWS Bedrock

export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
export AWS_ACCESS_KEY_ID=your-key
export AWS_SECRET_ACCESS_KEY=your-secret
export ANTHROPIC_MODEL=us.anthropic.claude-sonnet-4-6-20250514-v1:0

Google Vertex AI

export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=your-project-id
export ANTHROPIC_MODEL=claude-sonnet-4-6@20250514

Debug and telemetry variables

# Enable telemetry
export CLAUDE_CODE_ENABLE_TELEMETRY=1

# OpenTelemetry metrics exporter
export OTEL_METRICS_EXPORTER=otlp

# Skip writing session transcripts
export CLAUDE_CODE_SKIP_PROMPT_HISTORY=1

Experimental features

# Enable agent teams
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

# New interactive init flow
export CLAUDE_CODE_NEW_INIT=1

Setting variables permanently

Add variables to ~/.claude/settings.json for all projects:

{
  "env": {
    "MCP_TIMEOUT": "10000",
    "HTTP_PROXY": "http://proxy.example.com:8080",
    "HTTPS_PROXY": "http://proxy.example.com:8080",
    "NODE_EXTRA_CA_CERTS": "/path/to/corporate-ca.pem"
  }
}

Add to .claude/settings.json for project-specific variables shared with your team:

{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1"
  }
}

Prevention

Use settings.json for variables that should persist rather than exporting them in your shell configuration. This keeps Claude Code configuration separate from your general shell environment and makes it visible to team members through project settings.

Document required environment variables in your project’s CLAUDE.md or README so new team members can configure them quickly.


Level Up Your Claude Code Workflow

The developers who get the most out of Claude Code aren’t just fixing errors — they’re running multi-agent pipelines, using battle-tested CLAUDE.md templates, and shipping with production-grade operating principles.

Get Claude Code Mastery — included in Zovo Lifetime →

16 CLAUDE.md templates · 80+ prompts · orchestration configs · workflow playbooks. $99 once, free forever.