Ccs
Switch between Claude accounts, Gemini, Copilot, OpenRouter (300+ models) via CLIProxyAPI OAuth proxy. Visual dashboard, remote proxy support, WebSearch fallback. Zero-config to production-ready.
Run Claude, Codex, Droid-routed profiles, GLM, local models, and Anthropic-compatible APIs without config thrash. The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2025. It has gained significant community traction with 2,625 stars and 228 forks on GitHub. Key topics include: ai-gateway, anthropic-api, claude, claude-code, cli-tool.
CCS - Claude Code Switch

The multi-provider profile and runtime manager for Claude Code and compatible CLIs
Run Claude, Codex, Droid-routed profiles, GLM, local models, and
Anthropic-compatible APIs without config thrash.
Website |
Documentation |
Product Tour |
CLI Reference
<!-- quickstart-snippet-start -->[Docker]
ghcr.io/kaitranntt/ccs-dashboard:latestis deprecated. Useghcr.io/kaitranntt/ccs:latestinstead. See #1251 and docker/README.md for migration details. To wire a sibling container to CLIProxy, see Connect your app to CLIProxy.
Quick Start (Docker)
With Docker installed:
bashcurl -fsSL https://ccs.kaitran.ca/docker-compose.yaml -o docker-compose.yaml docker compose up -d
Dashboard at http://localhost:3000 · CLIProxy at http://localhost:8317.
Need a corporate-proxy alternative? Download directly:
https://raw.githubusercontent.com/kaitranntt/ccs/main/docker/compose.yaml
Install on Host (npm)
bashnpm install -g @kaitranntt/ccs ccs config
Then launch whatever runtime fits the task:
bashccs ccs codex ccs --target droid glm ccs glm ccs ollama
Why CCS
CCS gives you one stable command surface while letting you switch between:
- multiple runtimes such as Claude Code, Factory Droid, and Codex CLI
- multiple Claude subscriptions and isolated account contexts
- OAuth providers like Codex, Kiro, Claude, Kimi, and more, with legacy
Copilot compatibility for existing setups - API and local-model profiles like GLM, Kimi, OpenRouter, Ollama, llama.cpp,
Novita, Fireworks AI, and Alibaba Coding Plan
Qwen Code account linking is not available in the bundled CLIProxy runtime yet;
use an API-key Qwen profile such as Alibaba Coding Plan for Qwen models.
The goal is simple: stop rewriting config files, stop breaking active sessions,
and move between providers in seconds.
OpenAI-Compatible Routing
CCS can now bridge Claude Code into OpenAI-compatible providers through a local
Anthropic-compatible proxy instead of requiring a native Anthropic upstream.
bashccs api create --preset hf ccs hf
Need to manage the proxy manually?
bashccs proxy start hf eval "$(ccs proxy activate)"
The proxy also supports request-time profile:model selectors, scenario-based
model routing through proxy.routing, and explicit activation helpers such as
ccs proxy activate --fish.
Guide: OpenAI-Compatible Provider Routing
Related Project: claude-code-router
claude-code-router is an
excellent standalone tool for routing Claude Code requests to OpenAI-compatible
providers. CCS's local proxy and SSE transformation work was directly informed
by CCR's transformer architecture.
Use CCR when you want a standalone router without CCS profile management.
Use CCS when you want the routing flow integrated with CCS profiles, runtime
bridges, and the existing ccs command surface.
Need the full setup path instead of the short version?
| Need | Start here |
|---|---|
| Install and verify CCS | /getting-started/installation |
| First successful session | /getting-started/first-session |
| Visual walkthrough | /getting-started/product-tour |
| Provider selection | /providers/concepts/overview |
| Full command reference | /reference/cli-commands |
| Troubleshooting | /reference/troubleshooting |
See CCS In Action
CCS Bar For macOS

CCS Bar puts live subscription quota, daily spend, and account controls in the
macOS menu bar. Install it with ccs bar install, launch it with ccs bar, and
tell us what would make it more useful: issues and ideas are welcome in
GitHub Issues.
Deep dive: CCS Bar.
Usage Analytics

Track usage, costs, and session patterns across profiles. Deep dive:
Dashboard Analytics.
Live Auth And Health Monitoring

See auth state, account health, and provider readiness without dropping into raw
config. Deep dive:
Live Auth Monitor.
OAuth Provider Control Center

Manage OAuth-backed providers, quota visibility, and proxy-wide routing from one place. CCS now
surfaces round-robin vs fill-first natively in both CLI and dashboard flows instead of hiding that
choice inside raw upstream controls. The original CLIProxyAPI backend remains the default; the
community-maintained CLIProxyAPIPlus fork is opt-in for plus-only providers. When Plus is selected,
CCS points the embedded management panel at the maintained CPAMC dashboard fork by default.
Deep dive:
CLIProxy API.
Managed Tooling And Fallbacks

CCS can provision first-class local tools like WebSearch and image analysis for
third-party launches instead of leaving you to wire them by hand. Browser
automation now has a first-class setup path as well. Deep dive:
WebSearch |
Browser Automation.
Docs Matrix
The README stays short on purpose. The docs site owns the detailed guides and
reference material.
| If you want to... | Read this |
|---|---|
| Understand what CCS is and how the pieces fit together | Introduction |
| Install CCS cleanly on a new machine | Installation |
| Go from install to a successful first run | Your First CCS Session |
| See the dashboard and workflow surfaces before setup | Product Tour |
| Install the native macOS menu-bar companion | CCS Bar |
| Compare OAuth providers, Claude accounts, and API profiles | Provider Overview |
| Learn the dashboard structure and feature pages | Dashboard Overview |
| Configure profiles, paths, and environment variables | Configuration |
| Understand browser attach vs Codex browser tooling | Browser Automation |
| Keep OpenCode aligned with your live CCS setup | OpenCode Sync Plugin |
| Browse every command and flag | CLI Commands |
| Recover from install, auth, or provider failures | Troubleshooting |
| Understand storage, config, and architecture details | Reference |
Example Workflow
bash# Design with default Claude ccs "design the auth flow" # Implement with a different provider ccs codex "implement the user service" # Use a cheaper API profile for routine work ccs glm "clean up tests and docs" # Run a local model when you need privacy or offline access ccs ollama "summarize these logs"
Community Projects
| Project | Author | Description |
|---|---|---|
| opencode-ccs-sync | @JasonLandbridge | Auto-sync CCS providers into OpenCode |
Contribute And Report Safely
- Contributing guide: CONTRIBUTING.md
- Daily local gate:
bun run format && bun run lint:fix && bun run validate(validateis the fast path only) - Before review or merge confidence:
bun run validate:ci-parity - If PR checks stay queued for more than 10 minutes, assume the self-hosted runner is offline and notify a maintainer instead of retrying blindly
- Starter work:
good first issue,
help wanted - Questions: open a question issue
- Security reports: SECURITY.md and the
private advisory form
Star History
Contributors
Showing top 12 contributors by commit count.
