Files

CC Switch CLI - Agent Harness

A CLI interface for CC Switch, a desktop app that manages AI coding tool configurations across Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw, and Hermes. Reads directly from the live CC Switch SQLite database.

Installation

pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=cc-switch/agent-harness

Or for local development:

cd cc-switch/agent-harness
pip install -e .

Requires CC Switch installed with an active database at ~/.cc-switch/cc-switch.db.

Quick Start

# Status overview
cli-anything-ccswitch
cli-anything-ccswitch status

# List all providers
cli-anything-ccswitch providers list

# Filter by app
cli-anything-ccswitch providers list --app claude

# Switch active provider
cli-anything-ccswitch providers set-current <provider-id> --app claude

# Check proxy status
cli-anything-ccswitch proxy status --app claude

# View usage stats (7 days)
cli-anything-ccswitch usage stats --days 7

# Recent request logs
cli-anything-ccswitch usage logs --limit 10

# List skills
cli-anything-ccswitch skills list

# List MCP servers
cli-anything-ccswitch mcp list

# Manage settings
cli-anything-ccswitch settings list
cli-anything-ccswitch settings get <key>

# Session logs
cli-anything-ccswitch sessions list --app claude

JSON Output Mode

All commands support --json for machine-readable output. Place it before the subcommand:

cli-anything-ccswitch --json providers list
cli-anything-ccswitch --json usage stats --days 30
cli-anything-ccswitch --json providers get <id> --app claude

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 servers (list, enable)
skills Manage installed skills (list, repos)
usage View API usage and cost statistics (stats, logs)
settings View and manage settings (list, get, set)
sessions Browse AI conversation sessions (list)

Running Tests

# All tests
python3 -m pytest cli_anything/ccswitch/tests/ -v

# Unit tests (no CC Switch needed)
python3 -m pytest cli_anything/ccswitch/tests/test_core.py -v

# E2E tests (requires live CC Switch database)
python3 -m pytest cli_anything/ccswitch/tests/test_full_e2e.py -v

Architecture

cli_anything/ccswitch/
├── __init__.py
├── __main__.py              # python3 -m cli_anything.ccswitch
├── ccswitch_cli.py          # Main Click CLI (7 command groups)
├── utils/
│   ├── __init__.py
│   └── db.py                # SQLite database utilities
├── skills/
│   └── SKILL.md             # Packaged AI skill definition
└── tests/
    ├── TEST.md              # Test plan and results
    ├── test_core.py         # 30 unit tests
    └── test_full_e2e.py     # 20 E2E tests

Database

Reads directly from ~/.cc-switch/cc-switch.db. Read operations are safe; write operations (providers set-current, proxy config, mcp enable, settings set) modify the database and write live config to app settings files.