Back to Cc Switch

5.1 Configuration Files

docs/user-manual/en/5-faq/5.1-config-files.md

3.14.16.7 KB
Original Source

5.1 Configuration Files

CC Switch Data Storage

Storage Directory

Default location: ~/.cc-switch/

Customizable location in settings (for cloud sync).

Directory Structure

~/.cc-switch/
├── cc-switch.db      # SQLite database (SSOT)
├── settings.json     # Device-level settings
├── skills/           # Skill SSOT directory
├── skill-backups/    # Skill backups (created on uninstall)
└── db_backup_*.db    # Database backups

Database Contents

cc-switch.db is a SQLite database that stores:

TableContents
providersProvider configurations
provider_endpointsProvider endpoint candidate list
mcp_serversMCP server configurations
promptsPrompt presets
skillsSkill installation status
skill_reposSkill repository configurations
proxy_configProxy configuration
proxy_request_logsProxy request logs
provider_healthProvider health status
model_pricingModel pricing
settingsApp settings

Device Settings

settings.json stores device-level settings:

json
{
  "language": "zh",
  "theme": "system",
  "windowBehavior": "minimize",
  "autoStart": false,
  "claudeConfigDir": null,
  "codexConfigDir": null,
  "geminiConfigDir": null,
  "opencodeConfigDir": null,
  "openclawConfigDir": null
}

These settings are not synced across devices.

Automatic Backups

The backups/ directory stores automatic backups:

  • Automatically created before each configuration import
  • Retains the most recent 10 backups
  • File names include timestamps

Claude Code Configuration

Configuration Directory

Default: ~/.claude/

Key Files

~/.claude/
├── settings.json     # Main configuration file
├── CLAUDE.md         # System prompt
└── skills/           # Skills directory
    └── ...

settings.json

json
{
  "env": {
    "ANTHROPIC_API_KEY": "sk-xxx",
    "ANTHROPIC_BASE_URL": "https://api.anthropic.com"
  },
  "permissions": {
    "allow_file_access": true
  }
}
FieldDescription
env.ANTHROPIC_API_KEYAPI key
env.ANTHROPIC_BASE_URLAPI endpoint (optional)
env.ANTHROPIC_AUTH_TOKENAlternative authentication method

MCP Configuration

MCP server configuration is in ~/.claude.json:

json
{
  "mcpServers": {
    "mcp-fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}

Codex Configuration

Configuration Directory

Default: ~/.codex/

Key Files

~/.codex/
├── auth.json         # Authentication configuration
├── config.toml       # Main configuration + MCP
└── AGENTS.md         # System prompt

auth.json

json
{
  "OPENAI_API_KEY": "sk-xxx"
}

config.toml

toml
# Basic configuration
base_url = "https://api.openai.com/v1"
model = "gpt-4"

# MCP servers
[mcp_servers.mcp-fetch]
command = "uvx"
args = ["mcp-server-fetch"]

Gemini CLI Configuration

Configuration Directory

Default: ~/.gemini/

Key Files

~/.gemini/
├── .env              # Environment variables (API Key)
├── settings.json     # Main configuration + MCP
└── GEMINI.md         # System prompt

.env

bash
GEMINI_API_KEY=xxx
GOOGLE_GEMINI_BASE_URL=https://generativelanguage.googleapis.com
GEMINI_MODEL=gemini-pro

settings.json

json
{
  "mcpServers": {
    "mcp-fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}
FieldDescription
mcpServersMCP server configuration

OpenCode Configuration

Configuration Directory

Default: ~/.opencode/

Key Files

~/.opencode/
├── config.json       # Main configuration file
├── AGENTS.md         # System prompt
└── skills/           # Skills directory
    └── ...

OpenClaw Configuration

Configuration Directory

Default: ~/.openclaw/

Key Files

~/.openclaw/
├── openclaw.json     # Main configuration file (JSON5 format)
├── AGENTS.md         # System prompt
└── skills/           # Skills directory
    └── ...

openclaw.json

OpenClaw uses a JSON5 format configuration file with the following main sections:

json5
{
  // Model provider configuration
  models: {
    mode: "merge",
    providers: {
      "custom-provider": {
        baseUrl: "https://api.example.com/v1",
        apiKey: "your-api-key",
        api: "openai-completions",
        models: [{ id: "model-id", name: "Model Name" }]
      }
    }
  },
  // Environment variables
  env: {
    ANTHROPIC_API_KEY: "sk-..."
  },
  // Agent default model configuration
  agents: {
    defaults: {
      model: {
        primary: "provider/model"
      }
    }
  },
  // Tool configuration
  tools: {},
  // Workspace file configuration
  workspace: {}
}
FieldDescription
models.providersProvider configuration (mapped to CC Switch's "providers")
envEnvironment variable configuration
agents.defaultsAgent default model settings
toolsTool configuration
workspaceWorkspace file management

Configuration Priority

CC Switch's priority when modifying configurations:

  1. CC Switch Database - Single source of truth (SSOT)
  2. Live Configuration Files - Written when switching providers
  3. Backfill Mechanism - Reads from live files when editing the current provider

Manual Configuration Editing

Safe to Edit Manually

  • CLI tool configuration files (will be backfilled by CC Switch)
  • CC Switch's settings.json
  • cc-switch.db database file
  • Backup files

Sync After Editing

If you manually edit CLI tool configurations:

  1. Open CC Switch
  2. Edit the corresponding provider
  3. You will see the manual changes have been backfilled
  4. Save to sync to the database

Configuration Migration

Migrating from Older Versions

CC Switch v3.7.0 migrated from JSON files to SQLite:

  • Automatic migration on first launch
  • Displays a notification upon successful migration
  • Old configuration files are retained as backups

Cross-device Migration

  1. Export configuration on the source device
  2. Import configuration on the target device
  3. Or use the cloud sync feature

Configuration Backup Recommendations

Regular Backups

It is recommended to regularly export configurations:

  1. Settings > Advanced > Data Management
  2. Click "Export"
  3. Save to a secure location

Backup Contents

The export file includes:

  • All provider configurations
  • MCP server configurations
  • Prompt presets
  • App settings

Not Included

  • Usage logs (large data volume)
  • Device-level settings (not suitable for cross-device)