# CC Switch v3.12.3 > Tool Search Domain Bypass, Skill Backup/Restore Lifecycle, Proxy Gzip & o-Series Compatibility **[中文版 →](v3.12.3-zh.md) | [日本語版 →](v3.12.3-ja.md)** --- ## Overview CC Switch v3.12.3 adds a Tool Search domain restriction bypass via binary patching, introduces a full skill backup/restore lifecycle, improves proxy compatibility for OpenAI o-series models and gzip compression, and delivers robustness fixes for Skills import, provider forms, and terminal session restore. Skills are now automatically backed up before uninstall with restore and delete management, and the import flow has been reworked from implicit filesystem inference to explicit app selection. **Release Date**: 2026-03-16 **Update Scale**: 17 commits | 61 files changed | +3,335 / -194 lines --- ## Highlights - **Tool Search domain bypass**: New setting to remove Claude CLI Tool Search domain whitelist via equal-length binary patching, with automatic backup and reapply on startup - **Skill backup/restore lifecycle**: Skills are automatically backed up before uninstall; backup list with restore and delete management added - **Proxy gzip compression**: Non-streaming proxy requests now auto-negotiate gzip compression, reducing bandwidth usage - **o-series model compatibility**: Chat Completions proxy correctly uses `max_completion_tokens` for o1/o3/o4-mini models; Responses API kept on the correct `max_output_tokens` field - **Skills import rework**: Replaced implicit filesystem-based app inference with explicit `ImportSkillSelection` to prevent incorrect multi-app activation - **Ghostty terminal support**: Fixed Claude session restore in Ghostty terminal --- ## New Features ### Tool Search Domain Bypass Added a setting to bypass Claude CLI Tool Search domain whitelist restrictions. - Resolves the active `claude` command from PATH and applies an equal-length byte patch to remove the domain whitelist check - Backups stored in `~/.cc-switch/toolsearch-backups/` (SHA-256 of path) so they survive Claude Code version upgrades - The patch auto-reapplies on app startup when the setting is enabled - Frontend checks patch result and rolls back the setting on failure ### Skill Auto-Backup on Uninstall Skill files are now automatically backed up before uninstall to prevent accidental data loss. - Backups stored in `~/.cc-switch/skill-backups/` with all skill files and a `meta.json` containing original metadata - Old backups are automatically pruned to keep at most 20 - Backup path is returned to the frontend and shown in the success toast ### Skill Backup Restore & Delete Added management commands for skill backups created during uninstall. - List all available skill backups with metadata - Restore copies files back to SSOT, saves the DB record, and syncs to the current app with rollback on failure - Delete removes the backup directory after a confirmation dialog - ConfirmDialog gains a configurable zIndex prop to support nested dialog stacking --- ## Changes ### Proxy Gzip Compression Non-streaming proxy requests now support gzip compression for reduced bandwidth usage. - Non-streaming requests let reqwest auto-negotiate gzip and transparently decompress responses - Streaming requests conservatively keep `Accept-Encoding: identity` to avoid decompression errors on interrupted SSE streams ### o1/o3 Model Compatibility Proxy forwarding now handles OpenAI o-series model token parameters correctly. - Chat Completions path uses `max_completion_tokens` instead of `max_tokens` for o1/o3/o4-mini models (#1451) - Responses API path kept on the correct `max_output_tokens` field instead of incorrectly injecting `max_completion_tokens` ### OpenCode Model Variants - Placed OpenCode model variants at top level instead of inside options for better discoverability (#1317) ### Skills Import Flow The Skills import flow has been reworked for correctness and cleanup. - Replaced implicit filesystem-based app inference with explicit `ImportSkillSelection` to prevent incorrect multi-app activation when the same skill directory exists under multiple app paths - Added reconciliation to `sync_to_app` to remove disabled/orphaned symlinks - MCP `sync_all_enabled` now removes disabled servers from live config - Schema migration preserves a snapshot of legacy app mappings to avoid lossy reconstruction --- ## Bug Fixes ### Provider Form Double Submit - Prevented duplicate submissions on rapid button clicks in provider add/edit forms (#1352) ### Ghostty Session Restore - Fixed Claude session restore in Ghostty terminal (#1506, thanks @canyonsehun) ### Skill ZIP Import Extension - Added `.skill` file extension support in ZIP import dialog (#1240, #1455) ### Skill ZIP Install Target App - ZIP skill installs now use the currently active app instead of always defaulting to Claude ### OpenClaw Active Card Highlight - Fixed active OpenClaw provider card not being highlighted (#1419) ### Responsive Layout with TOC - Improved responsive design when TOC title exists (#1491) ### Import Skills Dialog White Screen - Added missing TooltipProvider in ImportSkillsDialog to prevent runtime crash when opening the dialog ### Panel Bottom Blank Area - Replaced hardcoded `h-[calc(100vh-8rem)]` with `flex-1 min-h-0` across all content panels to eliminate bottom gap caused by mismatched offset values on different platforms --- ## Download & Installation Visit [Releases](https://github.com/farion1231/cc-switch/releases/latest) to download the appropriate version. ### System Requirements | System | Minimum Version | Architecture | | ------- | ------------------------------- | ----------------------------------- | | Windows | Windows 10 or later | x64 | | macOS | macOS 12 (Monterey) or later | Intel (x64) / Apple Silicon (arm64) | | Linux | See table below | x64 | ### Windows | File | Description | | ------------------------------------------ | ---------------------------------------------------- | | `CC-Switch-v3.12.3-Windows.msi` | **Recommended** - MSI installer with auto-update | | `CC-Switch-v3.12.3-Windows-Portable.zip` | Portable version, extract and run, no registry write | ### macOS | File | Description | | ---------------------------------- | -------------------------------------------------------------------- | | `CC-Switch-v3.12.3-macOS.zip` | **Recommended** - Extract and drag to Applications, Universal Binary | | `CC-Switch-v3.12.3-macOS.tar.gz` | For Homebrew installation and auto-update | > **Note**: Since the author doesn't have an Apple Developer account, you may see an "unidentified developer" warning on first launch. Please close it, then go to "System Settings" -> "Privacy & Security" -> click "Open Anyway", and it will open normally afterwards. ### Homebrew (macOS) ```bash brew tap farion1231/ccswitch brew install --cask cc-switch ``` Update: ```bash brew upgrade --cask cc-switch ``` ### Linux | Distribution | Recommended Format | Installation Method | | --------------------------------------- | ------------------ | ---------------------------------------------------------------------- | | Ubuntu / Debian / Linux Mint / Pop!\_OS | `.deb` | `sudo dpkg -i CC-Switch-*.deb` or `sudo apt install ./CC-Switch-*.deb` | | Fedora / RHEL / CentOS / Rocky Linux | `.rpm` | `sudo rpm -i CC-Switch-*.rpm` or `sudo dnf install ./CC-Switch-*.rpm` | | openSUSE | `.rpm` | `sudo zypper install ./CC-Switch-*.rpm` | | Arch Linux / Manjaro | `.AppImage` | Add execute permission and run directly, or use AUR | | Other distributions / Unsure | `.AppImage` | `chmod +x CC-Switch-*.AppImage && ./CC-Switch-*.AppImage` |