Files
ccs/docs/configuration.md
T
kaitranntt 02f299686f feat(installer): add auto PATH config for v2.2.0
- Auto shell detection (bash/zsh/fish) with PATH setup
- Unified ~/.local/bin install (no sudo required)
- ANSI colors with TTY detection, NO_COLOR support
- Security: fix shell injection, error handling
- Replace emojis with ASCII symbols
- Update 16 files: core(6), en-docs(6), vi-docs(4)
2025-11-03 01:32:37 -05:00

3.1 KiB

CCS Configuration Guide

Automatic Configuration

The installer auto-creates config and profile templates during installation:

macOS / Linux: ~/.ccs/config.json

Windows: %USERPROFILE%\.ccs\config.json

Configuration Format

Basic Setup

{
  "profiles": {
    "glm": "~/.ccs/glm.settings.json",
    "default": "~/.claude/settings.json"
  }
}

Advanced Setup (Multiple Profiles)

{
  "profiles": {
    "glm": "~/.ccs/glm.settings.json",
    "haiku": "~/.ccs/haiku.settings.json",
    "custom": "~/.ccs/custom.settings.json",
    "default": "~/.claude/settings.json"
  }
}

Profile Configuration

GLM Profile Example

Location: ~/.ccs/glm.settings.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "your_glm_api_key",
    "ANTHROPIC_MODEL": "glm-4.6",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.6"
  }
}

Claude (Default) Profile

  • Uses ~/.claude/settings.json (your existing Claude CLI config)
  • CCS never modifies this file (non-invasive approach)

How Configuration Works

  1. CCS reads profile name from command line (defaults to "default")
  2. Looks up settings file path in ~/.ccs/config.json
  3. Executes claude --settings <file> [remaining-args]

No magic. No file modification. Pure delegation. Works identically across all platforms.

Environment Variables

CCS_CONFIG

Override default config location:

export CCS_CONFIG=~/my-custom-config.json
ccs glm

NO_COLOR

Disable colored terminal output:

export NO_COLOR=1
ccs glm

Use Cases:

  • CI/CD pipelines
  • Log files
  • Terminals without color support
  • Accessibility preferences

When NO_COLOR is set, CCS uses plain ASCII output without ANSI color codes.

Platform-Specific Notes

Windows Configuration

Windows uses the same file structure and approach as Linux/macOS.

Config format (~/.ccs/config.json):

{
  "profiles": {
    "glm": "~/.ccs/glm.settings.json",
    "default": "~/.claude/settings.json"
  }
}

macOS / Linux Configuration

Uses settings file paths with ~ expansion:

{
  "profiles": {
    "glm": "~/.ccs/glm.settings.json",
    "default": "~/.claude/settings.json"
  }
}

Each profile points to a Claude settings JSON file. Create settings files per Claude CLI docs.

Configuration Issues

Profile not found

Error: Profile 'foo' not found in ~/.ccs/config.json

Fix: Add profile to ~/.ccs/config.json:

{
  "profiles": {
    "foo": "~/.ccs/foo.settings.json"
  }
}

Settings file missing

Error: Settings file not found: ~/.ccs/foo.settings.json

Fix: Create settings file or fix path in config.

Default profile missing

Error: Profile 'default' not found in ~/.ccs/config.json

Fix: Add "default" profile or always specify profile name:

{
  "profiles": {
    "default": "~/.claude/settings.json"
  }
}