Thanks to visit codestin.com
Credit goes to Github.com

Skip to content
/ _ccs Public
forked from kaitranntt/ccs

Claude Code Switch (CCS) - Instant switch between Claude Subscription profile and GLM Coding Plan profile with one command

License

Notifications You must be signed in to change notification settings

ibehnam/_ccs

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

77 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, GLM 4.6, and Kimi for Coding 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 @kaitranntt/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"

# Switch to Kimi for alternative option
ccs kimi "Write integration tests"

# 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 @kaitranntt/ccs

# yarn
yarn global add @kaitranntt/ccs

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

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

Configuration (Auto-created)

CCS automatically creates configuration during installation (via npm postinstall script).

~/.ccs/config.json:

{
  "profiles": {
    "glm": "~/.ccs/glm.settings.json",
    "kimi": "~/.ccs/kimi.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 Claude subscription, GLM Coding Plan, and Kimi for Coding. Three 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 or Kimi would work fine
  3. Model Choice: Different tasks benefit from different model strengths β†’ manual switching

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
ccs kimi      # Switch to Kimi for Coding
# Hit rate limit? Switch instantly:
ccs glm       # Continue working with GLM
# Or switch to Kimi:
ccs kimi      # Continue working with Kimi

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


πŸ—οΈ Architecture Overview (v3.0 Simplified)

v3.0 Login-Per-Profile Model: Each profile is an isolated Claude instance where users login directly. No credential copying or vault encryption.

graph LR
    subgraph "User Command"
        CMD[ccs <profile>]
    end

    subgraph "Profile Detection"
        DETECT[ProfileDetector]
        SETTINGS[Settings-based: glm, kimi]
        ACCOUNT[Account-based: work, personal]
    end

    subgraph "CCS Processing"
        CONFIG[Read config.json/profiles.json]
        INSTANCE[InstanceManager: lazy directory init]
    end

    subgraph "Claude CLI Execution"
        SETTINGS_EXEC[claude --settings <path>]
        INSTANCE_EXEC[CLAUDE_CONFIG_DIR=<instance> claude]
    end

    subgraph "API Response"
        API[Claude/GLM/Kimi API]
    end

    CMD --> DETECT
    DETECT --> SETTINGS
    DETECT --> ACCOUNT
    SETTINGS --> CONFIG
    ACCOUNT --> INSTANCE
    SETTINGS --> SETTINGS_EXEC
    ACCOUNT --> INSTANCE_EXEC
    SETTINGS_EXEC --> API
    INSTANCE_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

Concurrent Sessions (All Platforms)

  • Multiple Profiles Simultaneously: Run ccs work and ccs personal in different terminals concurrently
  • Isolated Instances: Each profile gets own config directory (~/.ccs/instances/<profile>/)
  • Independent Sessions: Separate login, chat sessions, todos, logs per profile
  • Platform Parity: Works identically on macOS, Linux, and Windows via CLAUDE_CONFIG_DIR
  • Backward Compatible: Existing settings profiles (glm, kimi) work unchanged

Zero Workflow Interruption

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

πŸ’» Usage Examples

Basic Profile Switching

ccs              # Use Claude subscription (default)
ccs glm          # Use GLM fallback
ccs kimi         # Use Kimi for Coding
ccs --version    # Show CCS version and install location

Concurrent Sessions (Multi-Account)

# First time: Create profile and login
ccs auth create work        # Opens Claude, prompts for login
ccs auth create personal    # Opens Claude, prompts for login

# Terminal 1 - Work account
ccs work "implement feature"

# Terminal 2 - Personal account (concurrent)
ccs personal "review code"

# Both run simultaneously with isolated logins/sessions
# Works on all platforms: macOS, Linux, Windows

πŸ—‘οΈ Official Uninstall

The recommended way to completely remove CCS:

macOS / Linux:

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

Windows PowerShell:

irm ccs.kaitran.ca/uninstall | iex

πŸ’‘ Why use the official uninstaller?

  • Removes all CCS files and configurations
  • Cleans up PATH modifications
  • Removes Claude CLI commands/skills
  • Handles edge cases we've tested

Alternative methods (if official uninstaller fails):


🎯 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

About

Claude Code Switch (CCS) - Instant switch between Claude Subscription profile and GLM Coding Plan profile with one command

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 40.1%
  • Shell 32.1%
  • JavaScript 27.8%