All notable changes to CC Switch CLI will be documented in this file.
Note: This is a CLI fork of the original CC-Switch project, maintained by saladday.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Interactive Provider Management: Complete implementation of add/edit provider flows in interactive mode
- Full-featured provider creation with validation
- In-place provider editing with current values pre-filled
- ID column display in provider tables for easier reference
- Port Testing: Added endpoint connectivity testing for API providers
- Test reachability of API endpoints before switching
- Validates base URLs and ports are accessible
- Prompts Deactivate Command: New
prompts deactivatecommand to disable active prompts- Supports multi-app deactivation (Claude/Codex/Gemini)
- Removes active prompt files from app directories
- Toggle Prompt Mode: Added ability to switch between prompt switching modes
- Configure how prompts are activated and managed
- Interactive mode support for toggling settings
- Environment Management Commands: Full implementation of environment variable detection
env check: Detect conflicting API keys in system environmentenv list: List all relevant environment variables by app- Helps identify issues when provider switching doesn't take effect
- Delete Commands for Prompts: Multi-app support for deleting prompts
- Delete prompts from all configured apps at once
- Proper cleanup of prompt files and configuration
- Interactive Mode Refactoring: Reorganized into modular structure (~1,254 lines reorganized)
- Split into 6 focused submodules:
provider.rs,mcp.rs,prompts.rs,config.rs,settings.rs,utils.rs - Improved code maintainability and separation of concerns
- Better error handling and user feedback
- Split into 6 focused submodules:
- Command Output Enhancement: Improved formatting and alignment in command mode
- Better table formatting for command-line output
- Consistent status indicators and color coding
- Backup Management: Enhanced interactive backup selection and management
- Improved backup listing with timestamps
- Better restore flow with confirmation prompts
- Command mode table alignment issues in provider display
- ID column visibility in interactive provider lists
- Provider add/edit validation edge cases
- Environment variable set/unset features (removed for safety)
- Users must manually manage environment variables
- Tool now focuses on detection only to prevent accidental overwrites
- 15 commits since v4.0.1
- Cargo.toml version updated to 4.1.0
- Core business logic preserved at 100%
- All changes maintain backward compatibility with existing configs
- Interactive CLI Refactoring: Reorganized interactive mode into modular structure (~1,254 lines)
- Split functionality into 6 focused submodules:
provider.rs,mcp.rs,prompts.rs,config.rs,settings.rs,utils.rs - Improved code maintainability and separation of concerns
- Split functionality into 6 focused submodules:
- Provider Display Enhancement: Replaced "Category" field with "API URL" in interactive mode
- Provider list now shows actual API endpoints instead of category labels
- Detail view displays full API URL with app-specific extraction logic
- Added support for Claude (
ANTHROPIC_BASE_URL), Codex (base_urlfrom TOML), Gemini (GEMINI_BASE_URL)
- Configuration management menu with 8 operations (export, import, backup, restore, validate, reset, show full, show path)
- Enhanced MCP management options (delete, enable/disable servers, import from live config, validate command)
- Extended prompts management (view full content, delete prompts, view current prompt)
- ~395 lines of new i18n strings for configuration, MCP, and prompts operations
- Category selection prompt in "Add Provider" interactive flow
- Category column from provider list tables in interactive mode
- Documentation updates and corrections
Complete migration from Tauri GUI application to standalone CLI tool. This is a CLI-focused fork of the original CC-Switch project.
- Removed Tauri GUI (desktop window, React frontend, WebView runtime)
- Removed system tray menu, auto-updater, deep link protocol (
ccswitch://) - Users must transition to command-line or interactive mode
- Dual Interface Modes: Command-line mode + Interactive TUI mode
- Default Interactive Mode: Run
cc-switchwithout arguments to enter interactive mode - Provider Management: list, add, edit, delete, switch, duplicate, speedtest
- MCP Server Management: list, add, edit, delete, enable/disable, sync, import/export
- Prompts Management: list, activate, show, create, edit, delete
- Configuration Management: show, export, import, backup, restore, validate, reset
- Utilities: shell completions (bash/zsh/fish/powershell), env check, app switch
- Complete React 18 + TypeScript frontend (~50,000 lines)
- Tauri 2.8 desktop runtime and all GUI-specific features
- 200+ npm dependencies
- 100% core business logic (ProviderService, McpService, PromptService, ConfigService)
- Configuration format and file locations
- Multi-app support (Claude/Codex/Gemini)
- New Stack: clap v4.5, inquire v0.7, comfy-table v7.1, colored v2.1
- Binary Size: ~5-8 MB (vs ~15-20 MB GUI)
- Startup Time: <50ms (vs 500-1000ms GUI)
- Dependencies: ~20 Rust crates (vs 200+ npm + 50+ Rust)
- Original Project: CC-Switch by Jason Young
- CLI Fork Maintainer: saladday
- Skills third-party repository installation (#268)
- Gemini configuration persistence
- Dialog overlay click protection
- Gemini configuration directory support (#255)
- ArchLinux installation support (#259)
- Skills error messages i18n (28+ messages)
- Download timeout extended to 60s
- Gemini CLI Integration - Third major application support
- MCP v3.7.0 Unified Architecture - Single interface for Claude/Codex/Gemini
- Claude Skills Management System - GitHub repository integration
- Prompts Management - Multi-preset system prompts
- Deep Link Protocol -
ccswitch://URL scheme - Environment Variable Conflict Detection
- Provider presets: DouBaoSeed, Kimi For Coding, BaiLing
- Common config migration to
config.json - macOS native design color scheme
- 85 commits, 152 files changed
- Skills: 2,034 lines, Prompts: 1,302 lines, Gemini: ~1,000 lines
- Provider Duplicate
- Edit Mode Toggle
- Custom Endpoint Management
- Usage Query Enhancements
- Auto-sync on Directory Change
- New Provider Presets: DMXAPI, Azure Codex, AnyRouter, AiHubMix, MiniMax
- Backend: 5-phase refactoring (error handling, commands, services, concurrency)
- Frontend: 4-stage refactoring (tests, hooks, components, cleanup)
- Hooks unit tests 100% coverage
- Tauri commands only accept
appparameter (values:claude/codex) - Frontend type unified to
AppId
- MCP (Model Context Protocol) Management
- Configuration Import/Export
- Endpoint Speed Testing
- Internationalization (i18next) with Chinese default
- Claude plugin sync
- Extended provider presets
- Portable mode and single instance enforcement
- VS Code integration for provider sync (Removed in 3.4.x)
- Codex provider wizard enhancements
- Shared common config snippets
- System tray provider switching
- Built-in update flow via Tauri Updater
- Single source of truth for provider configs
- One-time migration from v1 to v2
- Codex application support - Manage auth.json and config.toml
- Multi-app config v2 structure
- Automatic v1→v2 migration
- Complete migration from Electron to Tauri 2.0
- 90% reduction in bundle size (~150MB → ~15MB)
- Significantly improved startup performance
- Multi-provider configuration management
- Quick provider switching
- Import/export configurations
- Basic provider management
- Claude Code integration