Files
CC-Switch/docs/release-notes/v3.12.3-en.md
T
Jason 9336001746 feat(skills): auto-backup skill files before uninstall
Create a local backup under ~/.cc-switch/skill-backups/ before removing
skill directories. The backup includes all skill files and a meta.json
with original skill metadata. Old backups are pruned to keep at most 20.
The backup path is returned to the frontend and shown in the success
toast. Bump version to 3.12.3.
2026-03-15 23:26:50 +08:00

6.7 KiB

CC Switch v3.12.3

Tool Search Domain Bypass, Proxy Gzip & o-Series Compatibility, Skills Import Robustness

中文版 → | 日本語版 →


Overview

CC Switch v3.12.3 adds a Tool Search domain restriction bypass via binary patching, improves proxy compatibility for OpenAI o-series models and gzip compression, and delivers robustness fixes for Skills import, provider forms, and terminal session restore. The Skills import flow has been reworked from implicit filesystem inference to explicit app selection, eliminating incorrect multi-app activation bugs.

Release Date: 2026-03-15

Update Scale: 13 commits | 47 files changed | +1,764 / -122 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

  • 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

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)

Download & Installation

Visit Releases to download the appropriate version.

System Requirements

System Minimum Version Architecture
Windows Windows 10 or later x64
macOS macOS 10.15 (Catalina) 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)

brew tap farion1231/ccswitch
brew install --cask cc-switch

Update:

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