# ============================================================================= # OpenClaude Environment Configuration # ============================================================================= # Copy this file to .env and fill in your values: # cp .env.example .env # # Only set the variables for the provider you want to use. # All other sections can be left commented out. # ============================================================================= # ============================================================================= # SYSTEM-WIDE SETUP (OPTIONAL) # ============================================================================= # Instead of using a .env file per project, you can set these variables # system-wide so OpenClaude works from any directory on your machine. # # STEP 1: Pick your provider variables from the list below. # STEP 2: Set them using the method for your OS (see further down). # # ── Provider variables ─────────────────────────────────────────────── # # Option 1 — Anthropic: # ANTHROPIC_API_KEY=sk-ant-your-key-here # ANTHROPIC_MODEL=claude-sonnet-4-5 (optional) # ANTHROPIC_BASE_URL=https://api.anthropic.com (optional) # # Option 2 — OpenAI: # CLAUDE_CODE_USE_OPENAI=1 # OPENAI_API_KEY=sk-your-key-here # OPENAI_MODEL=gpt-4o # OPENAI_BASE_URL=https://api.openai.com/v1 (optional) # # Option 3 — Google Gemini: # CLAUDE_CODE_USE_GEMINI=1 # GEMINI_API_KEY=your-gemini-key-here # GEMINI_MODEL=gemini-2.0-flash # GEMINI_BASE_URL=https://generativelanguage.googleapis.com (optional) # # Option 4 — GitHub Models: # CLAUDE_CODE_USE_GITHUB=1 # GITHUB_TOKEN=ghp_your-token-here # # Option 5 — Ollama (local): # CLAUDE_CODE_USE_OPENAI=1 # OPENAI_BASE_URL=http://localhost:11434/v1 # OPENAI_API_KEY=ollama # OPENAI_MODEL=llama3.2 # # Option 6 — LM Studio (local): # CLAUDE_CODE_USE_OPENAI=1 # OPENAI_BASE_URL=http://localhost:1234/v1 # OPENAI_MODEL=your-model-id-here # OPENAI_API_KEY=lmstudio (optional) # # Option 7 — AWS Bedrock (may also need: aws configure): # CLAUDE_CODE_USE_BEDROCK=1 # AWS_REGION=us-east-1 # AWS_DEFAULT_REGION=us-east-1 # AWS_BEARER_TOKEN_BEDROCK=your-bearer-token-here # ANTHROPIC_BEDROCK_BASE_URL=https://bedrock-runtime.us-east-1.amazonaws.com # # Option 8 — Google Vertex AI: # CLAUDE_CODE_USE_VERTEX=1 # ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id # CLOUD_ML_REGION=us-east5 # GOOGLE_CLOUD_PROJECT=your-gcp-project-id # # ── How to set variables on each OS ────────────────────────────────── # # macOS (zsh): # 1. Open: nano ~/.zshrc # 2. Add each variable as: export VAR_NAME=value # 3. Save and reload: source ~/.zshrc # # Linux (bash): # 1. Open: nano ~/.bashrc # 2. Add each variable as: export VAR_NAME=value # 3. Save and reload: source ~/.bashrc # # Windows (PowerShell): # Run for each variable: # [System.Environment]::SetEnvironmentVariable('VAR_NAME', 'value', 'User') # Then restart your terminal. # # Windows (Command Prompt): # Run for each variable: # setx VAR_NAME value # Then restart your terminal. # # Windows (GUI): # Settings > System > About > Advanced System Settings > # Environment Variables > under "User variables" click New, # then add each variable. # # ── Important notes ────────────────────────────────────────────────── # # LOCAL SERVERS: If using LM Studio or Ollama, the server MUST be # running with a model loaded before you launch OpenClaude — # otherwise you'll get connection errors. # # SWITCHING PROVIDERS: To temporarily switch, unset the relevant # variables in your current terminal session: # # macOS / Linux: # unset VAR_NAME # # e.g.: unset CLAUDE_CODE_USE_OPENAI OPENAI_BASE_URL OPENAI_MODEL # # Windows (PowerShell — current session only): # Remove-Item Env:VAR_NAME # # To permanently remove a variable on Windows: # [System.Environment]::SetEnvironmentVariable('VAR_NAME', $null, 'User') # # LOAD ORDER: # Shell and system environment variables are inherited by the process. # Project .env files are only used if your launcher or shell loads them # before starting OpenClaude. # COMPATIBILITY: # System-wide variables work regardless of how you run OpenClaude: # npx, global npm install, bun run, or node directly. Any process # launched from your terminal inherits your shell's environment. # # REMINDER: Make sure .env is in your .gitignore to avoid committing secrets. # ============================================================================= # ============================================================================= # PROVIDER SELECTION — uncomment ONE block below # ============================================================================= # ----------------------------------------------------------------------------- # Option 1: Anthropic (default — no provider flag needed) # ----------------------------------------------------------------------------- ANTHROPIC_API_KEY=sk-ant-your-key-here # Override the default model (optional) # ANTHROPIC_MODEL=claude-sonnet-4-5 # Use a custom Anthropic-compatible endpoint (optional) # ANTHROPIC_BASE_URL=https://api.anthropic.com # ----------------------------------------------------------------------------- # Option 2: OpenAI # ----------------------------------------------------------------------------- # CLAUDE_CODE_USE_OPENAI=1 # OPENAI_API_KEY=sk-your-key-here # OPENAI_MODEL=gpt-4o # Use a custom OpenAI-compatible endpoint (optional — defaults to api.openai.com) # OPENAI_BASE_URL=https://api.openai.com/v1 # ----------------------------------------------------------------------------- # Option 3: Google Gemini # ----------------------------------------------------------------------------- # CLAUDE_CODE_USE_GEMINI=1 # GEMINI_API_KEY=your-gemini-key-here # GEMINI_MODEL=gemini-2.0-flash # Use a custom Gemini endpoint (optional) # GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai # ----------------------------------------------------------------------------- # Option 4: GitHub Models # ----------------------------------------------------------------------------- # CLAUDE_CODE_USE_GITHUB=1 # GITHUB_TOKEN=ghp_your-token-here # ----------------------------------------------------------------------------- # Option 5: Ollama (local models) # ----------------------------------------------------------------------------- # CLAUDE_CODE_USE_OPENAI=1 # OPENAI_BASE_URL=http://localhost:11434/v1 # OPENAI_API_KEY=ollama # OPENAI_MODEL=llama3.2 # ----------------------------------------------------------------------------- # Option 6: LM Studio (local models) # ----------------------------------------------------------------------------- # LM Studio exposes an OpenAI-compatible API, so we use the OpenAI provider. # Make sure LM Studio is running with the Developer server enabled # (Developer tab > toggle server ON). # # Steps: # 1. Download and install LM Studio from https://lmstudio.ai # 2. Search for and download a model (e.g. any coding or instruct model) # 3. Load the model and start the Developer server # 4. Set OPENAI_MODEL to the model ID shown in LM Studio's Developer tab # # The default server URL is http://localhost:1234 — change the port below # if you've configured a different one in LM Studio. # # OPENAI_API_KEY is optional — LM Studio runs locally and ignores it. # Some clients require a non-empty value; if you get auth errors, set it # to any dummy value (e.g. "lmstudio"). # # CLAUDE_CODE_USE_OPENAI=1 # OPENAI_BASE_URL=http://localhost:1234/v1 # OPENAI_MODEL=your-model-id-here # ----------------------------------------------------------------------------- # Option 7: AWS Bedrock # ----------------------------------------------------------------------------- # You may also need AWS CLI credentials configured (run: aws configure) # or have AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY set in your # environment in addition to the variables below. # # CLAUDE_CODE_USE_BEDROCK=1 # AWS_REGION=us-east-1 # AWS_DEFAULT_REGION=us-east-1 # AWS_BEARER_TOKEN_BEDROCK=your-bearer-token-here # ANTHROPIC_BEDROCK_BASE_URL=https://bedrock-runtime.us-east-1.amazonaws.com # ----------------------------------------------------------------------------- # Option 8: Google Vertex AI # ----------------------------------------------------------------------------- # CLAUDE_CODE_USE_VERTEX=1 # ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id # CLOUD_ML_REGION=us-east5 # GOOGLE_CLOUD_PROJECT=your-gcp-project-id # ============================================================================= # OPTIONAL TUNING # ============================================================================= # Max number of API retries on failure (default: 10) # CLAUDE_CODE_MAX_RETRIES=10 # Enable persistent retry mode for unattended/CI sessions # Retries 429/529 indefinitely with smart backoff # CLAUDE_CODE_UNATTENDED_RETRY=1 # Enable extended key reporting (Kitty keyboard protocol) # Useful for iTerm2, WezTerm, Ghostty if modifier keys feel off # OPENCLAUDE_ENABLE_EXTENDED_KEYS=1 # Disable "Co-authored-by" line in git commits made by OpenClaude # OPENCLAUDE_DISABLE_CO_AUTHORED_BY=1 # Custom timeout for API requests in milliseconds (default: varies) # API_TIMEOUT_MS=60000 # Enable debug logging # CLAUDE_DEBUG=1