Skip to main content

Configuration

CCS uses a unified YAML configuration file. Current schema version: 12.

Config File Location

~/.ccs/config.yaml

Config Structure

version: 12
default: default

accounts:
  work:
    config_dir: ~/.ccs/instances/work
    context_mode: isolated

profiles:
  glm:
    settings_file: ~/.ccs/glm.settings.json
  km:
    settings_file: ~/.ccs/km.settings.json

cliproxy:
  providers: {}

thinking:
  mode: auto
  budget: 8192

channels:
  enabled: [telegram, discord]

image_analysis:
  enabled: true

Key Sections

SectionPurpose
versionConfig schema version (current: 12)
defaultDefault profile used when running ccs with no arguments
accountsNamed Claude account instances with isolated directories
profilesAPI key profile references (settings JSON files)
cliproxyCLIProxy OAuth provider settings
thinkingExtended thinking defaults for supported providers
channelsOfficial channel integrations (Telegram, Discord, iMessage)
image_analysisVision/image analysis feature toggle

Config Precedence

Settings are resolved in this order (highest to lowest priority):
CLI Flags  >  Environment Variables  >  config.yaml  >  Built-in Defaults
For example, --proxy-host overrides CCS_PROXY_HOST, which overrides config.yaml.

Dashboard Management

The easiest way to manage config is through the dashboard:
ccs config
The dashboard opens in your browser on the current session URL. It provides a GUI for:
  • managing OAuth provider accounts and tokens
  • creating and editing API profiles
  • viewing real-time quota status
  • configuring proxy and advanced settings
API Profiles Configuration

Profile Settings Files

API profiles reference a .settings.json file with environment variable overrides:
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "your_api_key",
    "ANTHROPIC_MODEL": "glm-5"
  }
}
All env values must be strings. Booleans or objects will cause crashes on Windows PowerShell.

Environment Variables

Core

VariableDescriptionDefault
CCS_CONFIGOverride config file location~/.ccs/config.yaml
NO_COLORDisable colored terminal outputfalse
CCS_CLAUDE_PATHOverride Claude CLI binary pathAuto-detected
CCS_DEBUGEnable verbose debug loggingfalse

Remote Proxy

VariableDescriptionExample
CCS_PROXY_HOSTRemote proxy hostnameproxy.example.com
CCS_PROXY_PORTRemote proxy port8317
CCS_PROXY_AUTH_TOKENProxy authentication tokenyour-token
CCS_PROXY_PROTOCOLProtocol (http/https)https
CCS_PROXY_FALLBACK_ENABLEDFall back to local proxy if remote failstrue
CCS_ALLOW_SELF_SIGNEDAccept self-signed SSL certificatesfalse

Integration and Migration

VariableDescription
CCS_SKIP_MIGRATIONSkip automatic config migration on startup
CCS_UNIFIED_CONFIGEnable unified config mode (config.yaml)
CCS_WEBSEARCH_SKIPDisable WebSearch hook integration
CCS_SKIP_PREFLIGHTSkip API key validation on startup

Migration from v1 JSON

If you have a legacy ~/.ccs/config.json, CCS migrates it to config.yaml automatically on first run after upgrade. No manual action needed. To trigger migration manually:
CCS_MIGRATE=true ccs

Next Steps

Your First Session

Run a complete first provider flow after configuration

API Profiles

Create profiles for Anthropic, GLM, Kimi, and more

Claude Accounts

Configure multiple Claude account instances

Provider Overview

Compare all supported providers