Skip to content

Latest commit

 

History

History
108 lines (72 loc) · 3.23 KB

File metadata and controls

108 lines (72 loc) · 3.23 KB

5.4 Environment Variable Conflicts

Overview

CC Switch automatically detects conflicts between system environment variables and app configurations, preventing configurations from being unexpectedly overridden.

Detected environment variables:

  • ANTHROPIC_API_KEY - Claude API key
  • ANTHROPIC_BASE_URL - Claude API endpoint
  • OPENAI_API_KEY - OpenAI API key
  • GEMINI_API_KEY - Gemini API key
  • Other related environment variables

Conflict Warning

When a conflict is detected, a yellow warning banner appears at the top of the interface:

Warning: Environment variable conflict detected
Found X environment variables that may conflict with CC Switch configuration
[Expand] [Dismiss]

View Conflict Details

Click the "Expand" button to view detailed information:

Field Description
Variable Name Environment variable name
Variable Value Currently set value
Source Where the variable originates from

Source Types

Source Description
User Registry Windows user-level environment variable
System Registry Windows system-level environment variable
Shell Configuration macOS/Linux shell configuration file
System Environment System-level environment variable

Resolve Conflicts

Select Variables to Remove

  1. Check the environment variables you want to remove
  2. Or click "Select All" to select all conflicting variables

Remove Variables

  1. Click the "Remove Selected" button
  2. Confirm the removal operation
  3. CC Switch will automatically back up and remove the selected variables

Automatic Backup

A backup is automatically created before removal:

  • Backup location: ~/.cc-switch/env-backups/
  • Backup format: JSON file
  • Includes variable name, value, source, and other information

Dismiss Warning

If you confirm the conflict does not affect usage, you can:

  1. Click the "Dismiss" button on the right side of the warning banner
  2. The warning will be temporarily hidden
  3. Detection will run again on next launch

Manual Resolution

If you prefer not to use CC Switch to remove variables, you can handle them manually:

Windows

  1. Open "System Properties > Advanced > Environment Variables"
  2. Find the conflicting variable in User or System variables
  3. Delete or modify the variable

macOS / Linux

  1. Edit the shell configuration file (e.g., ~/.zshrc, ~/.bashrc)
  2. Delete or comment out the relevant export statements
  3. Reload the configuration: source ~/.zshrc

Why Do Conflicts Occur

Environment variables typically take priority over configuration files, which may cause:

  • CC Switch provider configurations being overridden
  • API requests being sent to the wrong endpoint
  • Using the wrong API key

Best Practices

  1. Use CC Switch to manage configurations: Avoid setting API keys in system environment variables
  2. Check regularly: Pay attention to conflict warnings and address them promptly
  3. Back up important variables: Confirm backups exist before removal

Restore Deleted Variables

If you accidentally deleted environment variables:

  1. Find the backup file: ~/.cc-switch/env-backups/
  2. Open the corresponding JSON file
  3. Manually restore the variable to the system environment