CC Switch CLI
CLI harness for CC Switch, a desktop app that manages AI coding tool (Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw, Hermes) configurations. Built with Click and the CLI-Anything methodology.
Prerequisites
- Python 3.10+
- CC Switch installed with an active database at
~/.cc-switch/cc-switch.db
Installation
bashpip install -e .
After installation, the command cli-anything-ccswitch is available.
Command Groups
| Group | Description |
|---|---|
status | Show a quick database overview |
providers | Manage AI provider configurations (list, get, set-current) |
proxy | Manage the local HTTP proxy server (status, config) |
mcp | Manage MCP (Model Context Protocol) servers (list, enable) |
skills | Manage installed skills (list, repos) |
usage | View API usage and cost statistics (stats, logs) |
settings | View and manage CC Switch settings (list, get, set) |
sessions | Browse and search AI conversation sessions (list) |
Global Options
--json— Output in machine-readable JSON format (recommended for agent use)--db PATH— Override the database path
Agent-Specific Guidance
JSON Output
Always use --json for programmatic consumption. Place it before the
subcommand:
bashcli-anything-ccswitch --json providers list cli-anything-ccswitch --json usage stats --days 30 cli-anything-ccswitch --json providers get <id> --app claude
Sensitive Values
API tokens, keys, and secrets are masked in all output. The settings_config
field in provider details shows masked values (e.g., sk-bc089...5cbb).
Exit Codes
0— Success1— Error (e.g., resource not found, invalid app type)
App Types
Valid app types: claude, codex, gemini, opencode, openclaw, hermes.
Examples
List all providers
bashcli-anything-ccswitch providers list cli-anything-ccswitch --json providers list --app claude
Switch active provider
bashcli-anything-ccswitch providers set-current <provider-id> --app claude
Check proxy status
bashcli-anything-ccswitch proxy status --app claude cli-anything-ccswitch proxy config --app claude --set-port 8080
View usage stats
bashcli-anything-ccswitch usage stats --days 7 cli-anything-ccswitch --json usage stats --days 30 --app claude cli-anything-ccswitch usage logs --limit 10
List skills
bashcli-anything-ccswitch skills list cli-anything-ccswitch skills repos
MCP servers
bashcli-anything-ccswitch mcp list cli-anything-ccswitch mcp enable <server-id> --app claude --on
Settings
bashcli-anything-ccswitch settings list cli-anything-ccswitch settings get <key> cli-anything-ccswitch settings set <key> <value>
Sessions
bashcli-anything-ccswitch sessions list --app claude --limit 10
Status overview
bashcli-anything-ccswitch status cli-anything-ccswitch cli-anything-ccswitch --json
Error Handling
When a resource is not found, the CLI prints an error message to stderr and exits with code 1. Agents should check the exit code before parsing output.
Database
The CLI reads from the live CC Switch SQLite database. All read operations
are safe and do not modify the database. Write operations (providers set-current, proxy config, mcp enable, settings set) modify the
database directly.

