docs/release-notes/v3.13.0-en.md
Lightweight Mode, Quota & Balance Visibility, Provider Model Auto-Fetch, Codex OAuth Reverse Proxy, and Tray Per-App Submenus
CC Switch v3.13.0 is a major feature release centered on observability, provider workflow ergonomics, and proxy compatibility. It adds inline quota and balance displays across official Claude / Codex / Gemini providers plus Token Plan, Copilot, and third-party balance APIs; introduces a Lightweight Mode that keeps CC Switch running from the system tray without a main window; delivers automatic model discovery via OpenAI-compatible /v1/models across all five supported applications; ships a Codex OAuth reverse proxy for ChatGPT subscribers; reorganizes the tray menu into per-app submenus; rebuilds the proxy forwarding stack on a Hyper-based client; and overhauls the Skills workflow with discovery, batch updates, storage-location toggling, and built-in skills.sh search and install. Additional improvements include full URL endpoint mode, enhanced token usage tracking, the Copilot interaction optimizer, a UTF-8 streaming chunk boundary fix for multi-byte output, a Linux startup UI responsiveness fix, and a friendlier new-user onboarding experience.
Release Date: 2026-04-10
Update Scale: 139 commits | 280 files changed | +31,627 / -3,042 lines
/v1/models discovery across Claude, Codex, Gemini, OpenCode, and OpenClaw provider forms, with grouped dropdown selection and failure-specific error messagesskills.sh search integration, and a storage-location toggle between CC Switch storage and ~/.agents/skillsopenai-completions support, and the remaining OpenClaw protocol variants — with custom-header passthrough and auth-header detection fixesbase_url as a complete upstream endpoint, unblocking vendors that require nonstandard URL layoutsA tray-only operating mode that dramatically reduces CC Switch's desktop footprint when idle.
show_main, and the lightweight-exit round-tripAdded inline quota and balance readouts to provider cards so users can see remaining capacity without leaving the card.
Added OpenAI-compatible model discovery to every provider form, removing the manual copy-paste loop for model IDs.
/v1/modelsAdded a reverse proxy path for ChatGPT subscribers who want to use their ChatGPT subscription in Claude Code.
Reorganized the tray menu so providers are grouped under each application instead of living in a flat list.
Upgraded the Skills management panel into a complete discovery plus maintenance workflow.
~/.agents/skills without losing skill stateskills.sh search integrated directly into the dialog for discovering community skillsMultiple session management improvements that reduce friction when working with Claude / Codex / Gemini sessions.
Extended the Stream Check panel to cover the full OpenCode and OpenClaw surface area.
openai-completions protocolbaseURL fallbackAdded a provider option that treats base_url as a complete upstream endpoint instead of a base URL with path appending (#1561, thanks @yovinchen).
Added request classification and routing logic that reduces unnecessary GitHub Copilot premium interaction consumption.
Added a one-time welcome dialog on fresh installs to guide new users through the CC Switch workflow.
Rebuilt the proxy forwarding layer on a Hyper-based HTTP client (#1714, thanks @yovinchen).
Reworked the additive provider create / rename / duplicate flows so live config writes, cleanup, and rollback stay consistent across OpenCode / OpenClaw and takeover scenarios (#1724, thanks @yovinchen).
Fixed intermittent garbled output (U+FFFD replacement characters) in Claude Code when multi-byte UTF-8 sequences such as Chinese characters and emoji were split across TCP stream chunks via the Copilot reverse proxy (#1923, thanks @Cod1ng).
String::from_utf8_lossy with a new append_utf8_safe helper across all four SSE streaming pathsFixed strict OpenAI-compatible chat backends (Nvidia, Qwen-style) rejecting requests when converted Claude payloads contained multiple system messages (#1942, thanks @yovinchen).
is_current, settings state, and live backup state out of syncMKCOL 405 responses correctly during connection validation (#1685, thanks @Alexlangl)skills.sh links and empty descriptionszh locale so storage and sync options use consistent wordingkimi-for-coding preset (#1738, thanks @makoMakoGo)Fixed a long-standing Linux bug where the window UI (including native title bar buttons) couldn't receive clicks until the user manually maximized and restored the window.
show() on Linux, so the first click was consumed by X11/Wayland click-to-activate (Tauri #10746, wry #637); (2) GTK surface's input region failed to renegotiate on the visible:false → show() path under some WebKitGTK/compositor combinations, leaving the entire window unresponsiveWEBKIT_DISABLE_COMPOSITING_MODE=1 at startup, and added a new linux_fix::nudge_main_window helper that performs set_focus + a ±1px no-op resize ~200ms after show, equivalent to a visually invisible "maximize-and-restore"show_main, and lightweight-mode exitdata-tauri-drag-region from the top header bar on Linux to avoid triggering gtk_window_begin_move_drag paths affected by Tauri #13440 under WaylandbaseURL fallback handlingresolve_reasoning_effort() mapping adaptive thinking to xhigh instead of incorrectly using high in OpenAI format conversionsCONTRIBUTING.md, SECURITY.md, and CODE_OF_CONDUCT.mdCodex OAuth Reverse Proxy Disclaimer
The Codex OAuth reverse proxy introduced in this release accesses ChatGPT Codex services through reverse-engineered OAuth flows. Please be aware of the following risks before enabling this feature:
The GitHub Copilot reverse proxy introduced in v3.12.3 also remains subject to its existing risk notice — see the v3.12.3 release notes for the full disclosure.
Users enable these features at their own risk. CC Switch is not responsible for any account restrictions, warnings, or service suspensions resulting from the use of these features.
Visit Releases to download the appropriate version.
| 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 |
| File | Description |
|---|---|
CC-Switch-v3.13.0-Windows.msi | Recommended - MSI installer with auto-update |
CC-Switch-v3.13.0-Windows-Portable.zip | Portable version, extract and run, no registry write |
| File | Description |
|---|---|
CC-Switch-v3.13.0-macOS.dmg | Recommended - DMG installer, drag to Applications, Universal Binary |
CC-Switch-v3.13.0-macOS.zip | ZIP archive, extract and drag to Applications, Universal Binary |
CC-Switch-v3.13.0-macOS.tar.gz | For Homebrew installation and auto-update |
macOS builds are code-signed and notarized by Apple for a seamless install experience.
brew tap farion1231/ccswitch
brew install --cask cc-switch
Update:
brew upgrade --cask cc-switch
| 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 |