Skip to content
/ ccs Public

Switch between multiple Claude accounts and AI models (GLM, Kimi) instantly. Multi-account support with concurrent sessions + settings-based model switching.

License

Notifications You must be signed in to change notification settings

kaitranntt/ccs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CCS - Claude Code Switch

CCS Logo

One command, zero downtime, right model for each task

Switch between Claude Sonnet 4.5 and GLM 4.6 instantly. Stop hitting rate limits. Start optimizing costs.

License Platform npm PoweredBy

Languages: English | TiαΊΏng Việt


πŸš€ Quick Start

πŸ”‘ Prerequisites

Before installing CCS, make sure you're logged into Claude CLI with your subscription account:

claude /login

Primary Installation Methods

Option 1: npm Package (Recommended)

macOS / Linux / Windows

npm install -g @kai/ccs

Compatible with npm, yarn, pnpm, and bun package managers.

Option 2: Direct Install (Traditional)

macOS / Linux

curl -fsSL ccs.kaitran.ca/install | bash

Windows PowerShell

irm ccs.kaitran.ca/install | iex

Your First Switch

# Use Claude subscription (default)
ccs "Review this architecture design"

# Switch to GLM for cost-optimized tasks
ccs glm "Create a simple REST API"

# Use GLM for all subsequent commands until switched back
ccs glm
ccs "Debug this issue"
ccs "Write unit tests"

Package Manager Options

All major package managers are supported:

# npm (default)
npm install -g @kai/ccs

# yarn
yarn global add @kai/ccs

# pnpm (70% less disk space)
pnpm add -g @kai/ccs

# bun (30x faster)
bun add -g @kai/ccs

Configuration (Auto-created)

~/.ccs/config.json:

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

Custom Claude CLI Path

If Claude CLI is installed in a non-standard location (D drive, custom directory), set CCS_CLAUDE_PATH:

export CCS_CLAUDE_PATH="/path/to/claude"              # Unix
$env:CCS_CLAUDE_PATH = "D:\Tools\Claude\claude.exe"   # Windows

See Troubleshooting Guide for detailed setup instructions.


The Daily Developer Pain Point

You have both Claude subscription and GLM Coding Plan. Two scenarios happen every day:

  1. Rate Limits Hit: Claude stops mid-project β†’ you manually edit ~/.claude/settings.json
  2. Cost Waste: Simple tasks use expensive Claude β†’ GLM would work fine

Manual switching breaks your flow. CCS fixes it instantly.

Why CCS Instead of Manual Switching?

Feature Benefit Emotional Value
Instant Switching One command, no file editing Confidence, control
Zero Downtime Never interrupt your workflow Reliability, consistency
Smart Delegation Right model for each task automatically Simplicity, ease
Cost Control Use expensive models only when needed Efficiency, savings
Cross-Platform Works on macOS, Linux, Windows Flexibility, portability
Reliable Pure bash/PowerShell, zero dependencies Trust, peace of mind

The Solution:

ccs           # Use Claude subscription (default)
ccs glm       # Switch to GLM fallback
# Hit rate limit? Switch instantly:
ccs glm       # Continue working with GLM

One command. Zero downtime. No file editing. Right model, right task.


πŸ—οΈ Architecture Overview

graph LR
    subgraph "User Command"
        CMD[ccs glm]
    end

    subgraph "CCS Processing"
        CONFIG[Read ~/.ccs/config.json]
        LOOKUP[Lookup profile β†’ settings file]
        VALIDATE[Validate file exists]
    end

    subgraph "Claude CLI"
        EXEC[claude --settings file_path]
    end

    subgraph "API Response"
        API[Claude Sub or GLM API]
    end

    CMD --> CONFIG
    CONFIG --> LOOKUP
    LOOKUP --> VALIDATE
    VALIDATE --> EXEC
    EXEC --> API
Loading

⚑ Features

Instant Profile Switching

  • One Command: ccs glm to switch to GLM, ccs to use Claude subscription - no config file editing
  • Smart Detection: Automatically uses right model for each task
  • Persistent: Switch stays active until changed again

Zero Workflow Interruption

  • No Downtime: Switching happens instantly between commands
  • Context Preservation: Your workflow remains uninterrupted
  • Seamless Integration: Works exactly like native Claude CLI

Task Delegation

🚧 Work in Progress: This feature is experimental and not fully tested. Use with caution.

CCS includes intelligent task delegation via the /ccs meta-command:

Install CCS commands:

ccs --install    # Install /ccs command to Claude CLI

Use task delegation:

# After running ccs --install, you can use:
/ccs glm /plan "add user authentication"
/ccs glm /code "implement auth endpoints"
/ccs glm /ask "explain this error"

Remove when not needed:

ccs --uninstall  # Remove /ccs command from Claude CLI

Benefits:

  • βœ… Save tokens by delegating simple tasks to cheaper models
  • βœ… Use right model for each task automatically
  • βœ… Seamless integration with existing workflows
  • βœ… Clean installation and removal when needed

πŸ’» Usage Examples

ccs              # Use Claude subscription (default)
ccs glm          # Use GLM fallback
ccs --version    # Show CCS version and install location
ccs --install    # Install CCS commands and skills to ~/.claude/
ccs --uninstall  # Remove CCS commands and skills from ~/.claude/

πŸ—‘οΈ Uninstall

macOS / Linux:

curl -fsSL ccs.kaitran.ca/uninstall | bash

Windows PowerShell:

irm ccs.kaitran.ca/uninstall | iex

🎯 Philosophy

  • YAGNI: No features "just in case"
  • KISS: Simple bash, no complexity
  • DRY: One source of truth (config)

πŸ“– Documentation

Complete documentation in docs/:


🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.


πŸ“„ License

CCS is licensed under the MIT License.


Made with ❀️ for developers who hit rate limits too often

⭐ Star this repo | πŸ› Report issues | πŸ“– Read docs