Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ccs.kaitran.ca/llms.txt

Use this file to discover all available pages before exploring further.

Provider Overview

CCS supports 13 CLIProxy OAuth providers plus Claude accounts and API profiles (including Alibaba Coding Plan, OpenRouter, Novita, GLM, MiniMax, and more). This guide helps you choose the right provider for your needs.

Provider Categories

OAuth Providers

13 OAuth Providers - Zero API keys, browser callback, device-code, or browser-polling loginPerfect for beginners and quick setup

Claude Accounts

Multiple Subscriptions - Isolated Claude instancesWork/personal separation, concurrent sessions

API Profiles

Direct API Access - Bring your own keysCustom endpoints, self-hosted models

Quick Decision Guide

Choose your path:
1

New to CCS? Start with OAuth

Recommended: Codex for browser OAuth, or Kiro if you want a free Builder ID path
ccs codex "your first query"
# Browser opens → Sign in → Start coding
  • No API keys needed
  • Good baseline for your first session
  • Auto token refresh on supported providers
  • Multi-account support
2

Have Claude Pro/Team? Use Claude Accounts

Best for: Multiple Claude subscriptions
ccs auth create work
ccs auth create personal
# Use both simultaneously in different terminals
  • Work/personal isolation
  • Concurrent sessions
  • Team collaboration
  • Existing subscription leverage
3

Need Custom Endpoints? Use API Profiles

Best for: Self-hosted models, custom APIs
ccs config
# Add API profile with custom endpoint + API key
  • Full control over endpoints
  • Self-hosted model support
  • Custom headers/authentication
  • Built-in presets such as OpenRouter, Novita, and Alibaba

Authentication Methods Comparison

Browser Callback vs Device Code vs Browser Polling

FeatureBrowser CallbackDevice CodeBrowser Polling
SetupBrowser opens and returns through a local callbackManual URL/code or device loginBrowser opens and CCS polls upstream auth completion
Headless ServersUsually pair with --headless or --paste-callbackNative supportLimited; best on desktop/browser-capable machines
ProvidersGemini, Codex, Antigravity, iFlow, Claude, GitLabQwen, Kimi, Kiro (default), Kilo, deprecated GHCP compatibilityCursor, CodeBuddy
Best ForLocal development, desktopCI/CD, remote serversProvider-specific browser-driven flows
Kiro also supports optional auth-code and IDC flows via --kiro-auth-method. GitLab Duo also supports PAT login via --gitlab-token-login. Example: Browser Callback Flow
ccs codex "task"
# → Browser opens → Provider login → Token cached → Session starts
Example: Device Code Flow
ccs ghcp "task"
# → Device code displayed → Copy URL/code → Token cached
Example: Browser Polling Flow
ccs cursor --auth
# → Browser opens → Upstream auth completes → CCS detects the session

All Providers Comparison

Providers At A Glance

Google Gemini - Google OAuth route
FeatureDetails
ModelsGemini 3 Pro (High/Preview), Gemini 2.5 Pro, Gemini 3 Flash
Free Tier✅ Yes (Gemini 2.5 Pro)
Auth MethodBrowser OAuth (Google SSO)
Multi-Account✅ Yes (email-based)
Model Picker✅ Interactive --config
Quota Display✅ Auto project rotation
Token Refresh✅ Automatic (CLIProxy-managed)
Best ForBeginners, free tier users, fast responses
For command examples and setup flow, open the dedicated Gemini provider page.Full Documentation →

Claude Accounts

Run multiple Claude subscriptions simultaneously with separate account profiles:
FeatureDetails
Setupccs auth create <profile>
Multi-Account✅ Unlimited profiles
Concurrent Sessions✅ Different profiles use separate default account directories
Session Isolation✅ Separate by default; reusing the same profile reuses the same directory
SubscriptionRequires existing Claude Pro/Team
Best ForWork/personal separation, team collaboration
Example:
# Create profiles
ccs auth create work
ccs auth create personal

# Use simultaneously
ccs work "implement feature"      # Terminal 1
ccs personal "side project"        # Terminal 2 (concurrent)
Full Documentation →

API Profiles

Direct API access with custom endpoints and keys:
FeatureDetails
Setupccs config → Add API profile
Custom Endpoints✅ Full control
Self-Hosted Models✅ Supported
API Key ManagementManual (you provide keys)
Model ConfigurationProvider-dependent
Best ForCustom APIs, self-hosted models, advanced users
Example:
# Configure via dashboard
ccs config

# Add profile:
# - Name: myapi
# - Endpoint: https://api.example.com/v1/chat
# - API Key: sk-...
# - Model: custom-model-name

# Use profile
ccs myapi "your query"
Full Documentation →

Additional Current CLIProxy OAuth Providers

These providers are current and supported in CCS today even though they arrived after the older nine-provider docs pass:
ProviderAuth ModelBackendNotesDocs
CursorBrowser pollingpluscurrent ccs cursor provider path; different from the deprecated local bridgeCursor Provider
GitLab DuoBrowser OAuth or PATplussupports --gitlab-token-login and --gitlab-urlGitLab Duo Provider
CodeBuddyBrowser pollingplusauth and routing via CLIProxyCodeBuddy Provider
Kilo AIDevice codeplusCLIProxy-backed device-code providerKilo AI Provider

Feature Matrix

All Providers Feature Comparison

ProviderFree TierMulti-AccountModel PickerQuota DisplayToken RefreshHeadless Mode
Gemini✅ Proactive
Kiro✅ Auto
KimiVaries✅ Auto✅ Device Code
GHCP (deprecated)✅ Auto✅ Device Code
Codex✅ Limited✅ Auto
Antigravity✅ Auto
Claude✅ Auto
Qwen✅ Auto
iFlow✅ Auto
CursorVaries✅ AutoBrowser-driven
GitLab DuoVaries✅ Auto
CodeBuddyVaries✅ AutoBrowser-driven
Kilo AIVariesManual re-auth✅ Device Code
MiniMaxManual
Alibaba Coding PlanManual
Novita AIManual
Claude AccountsN/AN/A
API ProfilesVariesVariesManual

Authentication Features

ProviderAuth MethodAccount IDToken ImportBrowser Control
GeminiBrowser OAuthEmailIncognito default
KiroDevice code + optional browser authFilename✅ IDENormal (no incognito)
KimiDevice CodeEmailN/A
GHCP (deprecated)Device CodeGitHub usernameN/A
CodexBrowser OAuthEmailIncognito default
AntigravityBrowser OAuthEmailIncognito default
ClaudeBrowser OAuthEmailIncognito default
QwenDevice CodeEmailIncognito default
iFlowBrowser OAuthEmailIncognito default
CursorBrowser pollingProvider-managedNo local callback
GitLab DuoBrowser OAuth or PATGitLab user✅ PATPaste-callback for self-hosted
CodeBuddyBrowser pollingProvider-managedNo local callback
Kilo AIDevice CodeProvider-managedN/A
MiniMaxAPI KeyProfile nameN/A
Alibaba Coding PlanAPI KeyProfile nameN/A
Novita AIAPI KeyProfile nameN/A
Claude AccountsOAuth (Claude)Profile nameN/A
API ProfilesAPI KeyProfile nameN/A

Provider Selection Guide

By Use Case

Beginner (First Time)

→ Codex or Kiro
  • No API keys needed
  • Good first-run coverage in CCS docs
  • Codex works well for browser OAuth
  • Kiro offers a free Builder ID route

Work/Personal Separation

→ Claude Accounts
  • Isolated sessions
  • Concurrent use
  • Separate subscriptions
  • Professional workflow

CI/CD Pipeline

→ GHCP (deprecated compatibility, device code)
  • Headless-friendly
  • No browser needed
  • Scriptable auth
  • Quota management

Free Tier Only

→ Kiro
  • CodeWhisperer via AWS Builder ID
  • Device-code friendly
  • No paid subscription required

Premium Models

→ Claude Accounts or Codex
  • Claude Pro/Max account workflows
  • Codex paid-plan model access
  • Strong review and implementation coverage
  • Clear first-party documentation

Long-Context Tasks

→ MiniMax
  • 1M token context window
  • Large codebase analysis
  • Document processing
  • API key authentication

Self-Hosted Models

→ API Profiles
  • Custom endpoints
  • Local LLMs
  • Full control
  • Privacy-focused

AWS Ecosystem

→ Kiro
  • CodeWhisperer integration
  • AWS Builder ID device code by default
  • IDE token import
  • Free Builder ID

OpenAI Workflow

→ Codex
  • Cross-plan-safe GPT-5 Codex defaults
  • GPT-5.3 Codex / GPT-5.2 Codex when available
  • OpenAI ecosystem

Alibaba Cloud / Cost-Efficient Coding

→ Alibaba Coding Plan
  • Qwen3 Coder Plus/Flash
  • 1M token context
  • 1.00/1.00/5.00 per M tokens
  • ccs api create --preset alibaba

By Authentication Preference

Prefer Browser OAuth?
  • Gemini, Codex, Antigravity, iFlow, Claude, GitLab Duo, plus optional Kiro auth-code / Google flows
Prefer Device Code?
  • Qwen, Kimi, Kiro (default), Kilo AI, deprecated GHCP compatibility
Prefer Browser Polling?
  • Cursor, CodeBuddy
Prefer PAT / Token Login?
  • GitLab Duo (--gitlab-token-login)
Prefer API Keys?
  • API Profiles
Prefer No External Auth?
  • Claude Accounts (uses Claude CLI’s built-in OAuth)

By Cost Model

Free Tier Available:
  • Gemini - Gemini 2.5 Pro (free Google account)
  • Kiro - CodeWhisperer (AWS Builder ID)
Requires Subscription:
  • Gemini 3 Pro - Paid Google account
  • GHCP - Deprecated GitHub Copilot compatibility for existing setups
  • Codex paid / preview models - Paid Codex plan required for gpt-5.5 and gpt-5.3-codex; gpt-5.3-codex-spark is research preview for ChatGPT Pro subscribers
  • Antigravity - Subscription
  • Claude - Anthropic subscription
  • Qwen - Subscription
  • iFlow - Subscription
Use Existing Subscription:
  • Claude Accounts - Claude Pro/Team
Bring Your Own:
  • API Profiles - You manage costs
  • Alibaba Coding Plan - Qwen3 Coder (from $0.30/M input)
  • Novita AI - Anthropic-compatible preset with hosted routing
  • OpenRouter - 300+ models, pay per use

Multi-Account Management

All OAuth providers support multiple accounts:
Codex, Gemini, Antigravity, Qwen, iFlow
# Add account
ccs codex --auth --add

# List accounts
ccs codex --accounts

# Output:
# * john (john@gmail.com) - default
#   work (alice@company.com)

# Switch account
ccs codex --use work

# Rename account
ccs codex --nickname personal
Account ID: Email prefix (john@gmail.comjohn)

Storage Locations

All providers store data in ~/.ccs/:
~/.ccs/
├── cliproxy/
│   ├── auth/                           # OAuth tokens
│   │   ├── gemini-john@gmail.com.json
│   │   ├── kiro-github-ABC123.json
│   │   ├── ghcp-kaitranntt.json
│   │   └── ...
│   ├── providers/
│   │   └── cursor.settings.json        # dedicated Cursor provider settings
│   ├── accounts.json                   # Account registry (all OAuth providers)
│   └── config.yaml                     # CLIProxy configuration
├── instances/                           # Claude account profiles
│   ├── work/
│   └── personal/
├── gemini.settings.json                 # Provider-specific settings
├── agy.settings.json
└── config.yaml                          # Global CCS config

Common Commands (All Providers)

Authentication

# Initial auth (browser opens)
ccs <provider> --auth

# Add new account (preserves existing)
ccs <provider> --auth --add

# Logout (clear tokens)
ccs <provider> --logout

# Headless mode (manual URL)
ccs <provider> --headless

Account Management

# List all accounts
ccs <provider> --accounts

# Switch default account
ccs <provider> --use <nickname>

# Rename current account
ccs <provider> --nickname <new-name>

Execution

# Execute query (interactive session)
ccs <provider> "your prompt"

# One-shot mode
ccs <provider> "quick question" --one-shot

Configuration

# Provider-specific config (supported providers only)
ccs codex --config
ccs claude --config

# Global dashboard
ccs config

Provider-Specific Features

Gemini Unique Features

  • ✅ Automatic CLIProxy-managed token refresh
  • ✅ Auto project rotation on quota exceeded
  • ✅ Interactive model picker (4 models)
  • ✅ Free tier (Gemini 2.5 Pro)

Kiro Unique Features

  • ✅ Token import from Kiro IDE (--import)
  • ✅ Browser mode control (--no-incognito)
  • ✅ AWS Builder ID device code by default
  • ✅ Free tier (Builder ID)

GHCP Deprecated Compatibility Features

  • ✅ Built-in device-code OAuth flow
  • ✅ Quota display (--quota)
  • ✅ Device code for headless servers
  • ✅ GitHub integration

More Current CLIProxy Providers

  • Cursor provider path lives under ccs cursor --auth
  • GitLab Duo supports browser OAuth and PAT login
  • CodeBuddy is supported as a browser-polling provider
  • Kilo AI is supported as a device-code provider

Antigravity Unique Features

  • ✅ Multi-model access (Claude + Gemini)
  • ✅ Claude Opus 4.6 Thinking (latest flagship)
  • ✅ Claude Sonnet 4.6 Thinking
  • ✅ Interactive model picker

Claude Accounts Unique Features

  • ✅ Concurrent sessions (different profiles)
  • ✅ Separate account directories by default
  • ✅ Unlimited profiles
  • ✅ Work/personal separation

Next Steps

Gemini Provider

Free tier, proactive refresh, 4 models

Kiro Provider

AWS CodeWhisperer, IDE import, free tier

GHCP Provider (Deprecated)

Compatibility path, device code, quota display

Codex Provider

GPT-5 Codex defaults, paid-plan models, plan-aware fallbacks

Antigravity Provider

Claude Opus 4.6 Thinking, multi-model picker

Claude Provider

Direct Anthropic OAuth access

Qwen Provider

Specialized coding model

iFlow Provider

Various models available

Cursor Provider

Current CLIProxy Cursor provider path

GitLab Duo

Browser OAuth or PAT login

CodeBuddy

Tencent CodeBuddy provider

Kilo AI

CLIProxy device-code provider

MiniMax Provider

1M context window, long-context tasks

Novita Provider

Anthropic-compatible preset, default deepseek/deepseek-v3.2

Claude Accounts

Multiple subscriptions, concurrent sessions

API Profiles

Custom endpoints, self-hosted models

Alibaba Coding Plan

Qwen3 Coder, 1M context, cost-effective

FAQ

Yes! Different providers are the simplest way to avoid reusing the same provider or proxy lane:
# Terminal 1
ccs codex "task A"

# Terminal 2
ccs kimi "task B"

# No conflicts
Kiro or Codex - pick the one that matches the account you already have:
ccs codex "your first query"
# Browser opens → Provider login → Start coding
Yes! All OAuth providers support multi-account with instant switching:
ccs codex --use work      # Switch to work account
ccs codex --use personal  # Switch to personal
# No re-auth needed
  • GHCP - Deprecated compatibility with built-in device-code flow
  • All OAuth Providers - Headless mode (--headless, copy URL manually)
  • API Profiles - No browser needed (API keys only)
Yes for OAuth providers - tokens sync automatically if you:
  1. Copy ~/.ccs/cliproxy/auth/ to new machine
  2. Re-authenticate on new machine (tokens specific to each machine)
Better: Re-auth on each machine for security.
  • Different providers: Concurrent; usually the easiest way to keep sessions separate
  • Same provider, different accounts: Concurrent (if supported by backend)
  • Claude Accounts: Concurrent with different profiles; same profile is allowed but reuses the same account directory
  • Same provider, same account: Provider-specific; may reuse the same provider/proxy session instead of giving full isolation