Releases: farion1231/cc-switch
CC Switch v3.14.1
CC Switch v3.14.1
Tray usage visibility, Codex OAuth stability fixes, Skills import/install reliability, and removal of the Hermes config health scanner
Overview
CC Switch v3.14.1 is a patch release following v3.14.0, focused on Codex OAuth reverse-proxy stability, tray usage visibility, Skills import / install reliability, Gemini session restore paths, and simplifying Hermes configuration health handling.
For the first time, the system tray surfaces cached usage for the current Claude / Codex / Gemini provider directly in its submenus — including subscription summaries and usage-script summaries with color-coded utilization markers. For Chinese coding-plan providers like Kimi / Zhipu / MiniMax, the tray additionally renders a 5-hour + weekly window layout in the 🟢 h12% w80% style (worst utilization drives the emoji), semantically identical to the official subscription badges. Creating a Claude provider whose ANTHROPIC_BASE_URL matches a known coding-plan host now auto-injects meta.usage_script so the tray lights up without opening the Usage Script modal.
Several Codex OAuth reverse-proxy stability issues are addressed this release: client-provided session IDs are now used as both prompt_cache_key and the Codex session header to avoid UUID-driven cache churn; non-streaming Anthropic clients receive proper JSON responses even when the ChatGPT Codex upstream forces OpenAI Responses SSE; and Stream Check now builds probes with the same store: false, encrypted reasoning include, and provider FAST mode setting as production requests, eliminating the "check fails but it actually works" mismatch. Paired with a new explicit FAST mode toggle, users can now opt into service_tier="priority" on Codex OAuth-backed Claude providers, trading latency against ChatGPT quota consumption on their own terms.
Additionally, the in-app Hermes config health scanner and its warning banner are removed (along with the scan_hermes_config_health command, HermesHealthWarning type, and HermesWriteOutcome.warnings payload), refocusing the Hermes surface on active provider display, switching defaults, memory editing, and launching the Hermes Web UI — deep configuration health is now Hermes's own responsibility.
Release Date: 2026-04-23
Update Scale: 13 commits | 48 files changed | +1,883 / -808 lines
Highlights
- Tray Usage Visibility: Claude / Codex / Gemini tray submenus show cached usage for the current provider, including subscription and script-based summaries with color markers; refreshes are throttled, limited to visible apps, and synchronized back into React Query (#2184, thanks @TuYv)
- Tray Coding-Plan Usage (Kimi / Zhipu / MiniMax): The tray renders 5-hour + weekly window usage using the
🟢 h12% w80%layout; Claude providers whose base URL matches a known host auto-injectmeta.usage_script - Codex OAuth FAST Mode: New explicit FAST mode toggle for Codex OAuth-backed Claude providers; when enabled, converted Responses requests send
service_tier="priority". Off by default (#2210, thanks @JesusDR01) - Codex OAuth Stability: Fixed reverse-proxy cache routing (#2218, thanks @majiayu000), Responses SSE aggregation (#2235, thanks @xpfo-go), and Stream Check parity with production (#2210, thanks @JesusDR01)
- Hermes Config Health Scanner Removed: Refocuses the Hermes surface on provider management, memory editing, and launching the Web UI — no longer duplicates deep configuration health judgments
- Skills Import / Install Reliability: Import dialog disables actions while pending and deduplicates results by ID (#2211, thanks @TuYv); model quick-set / one-click config applies against the latest form state (#2249, thanks @Coconut-Fish); root-level
SKILL.mdrepo installs are stable (#2231, thanks @santugege) - Gemini Session Restore Paths: Session scanning reads
.project_rootmetadata and passes the original project directory back into restore flows (#2240, thanks @tisonkun) - Session / Settings Layout Polish: Hardened the scroll-area viewport with width containment to fix horizontal overflow; tightened app bottom and settings footer spacing (#2201, thanks @Coconut-Fish)
Added
Tray Usage Visibility
- System tray submenus now show cached usage for the current Claude / Codex / Gemini provider (#2184, thanks @TuYv)
- Includes subscription quota summaries and usage-script summaries with color-coded utilization markers
- Tray-triggered refreshes are throttled, limited to visible apps, and synchronized back into React Query so the main window and tray share the same usage data
Tray Coding-Plan Usage (Kimi / Zhipu / MiniMax)
- The tray renders 5-hour + weekly window usage for Chinese coding-plan providers
- Uses the same
🟢 h12% w80%two-window layout as official subscription badges (worst utilization drives the emoji color) - Creating a Claude provider whose
ANTHROPIC_BASE_URLmatches a known coding-plan host auto-injectsmeta.usage_script, so the tray lights up without opening the Usage Script modal - Existing
usage_scriptvalues are preserved on update, never clobbering user customizations
Codex OAuth FAST Mode
- New explicit FAST mode toggle for Codex OAuth-backed Claude providers (#2210, thanks @JesusDR01)
- When enabled, converted Responses requests send
service_tier="priority"for lower latency - Off by default to avoid unexpectedly increasing ChatGPT quota consumption
Changed
Session and Settings Layout Polish
- Hardened the scroll-area viewport with width containment to fix horizontal overflow (#2201, thanks @Coconut-Fish)
- Tightened app bottom and settings footer spacing so long session / settings views fit more cleanly
Removed
Hermes Config Health Scanner
- Removed the in-app Hermes config health scanner and its warning banner
- Removed the
scan_hermes_config_healthcommand,HermesHealthWarningtype, andHermesWriteOutcome.warningspayload - The CC Switch Hermes surface now focuses on its core job: active provider display, default provider switching, memory editing, and launching the Hermes Web UI for deep configuration
Fixed
Codex OAuth Cache Routing
- Use the client-provided session ID as both
prompt_cache_keyand the Codex session header, preserving explicit cache keys (#2218, thanks @majiayu000) - Stop generating UUIDs that caused cache-identity churn, stabilizing the ChatGPT Codex reverse-proxy cache identity
Codex OAuth Responses SSE Aggregation
- Non-streaming Anthropic clients now receive proper JSON even when the ChatGPT Codex upstream forces OpenAI Responses SSE (#2235, thanks @xpfo-go)
- CC Switch aggregates the upstream SSE events before running the non-streaming transform
Codex OAuth Stream Check Parity
- Stream Check now builds Codex OAuth probe requests with the same
store: false, encrypted reasoning include, and provider FAST mode setting as production proxy traffic (#2210, thanks @JesusDR01) - Eliminates the "check fails but it actually works" mismatch
Codex Model Extraction
- Reading the
modelfield from Codex config now uses TOML parsing instead of first-line regex matching (#2227, thanks @nmsn) - Multiline TOML is handled correctly
Model Quick-Set / One-Click Config
- Model quick-set now applies against the latest provider form config (#2249, thanks @Coconut-Fish)
- Fixes stale form state preventing one-click configuration from succeeding
Skills Import Duplicates
- The Skills import dialog disables actions while import is pending (#2211, thanks @TuYv)
- The installed-skills cache deduplicates imported results by ID, preventing double-clicks from adding duplicate installed entries (#2139)
Root-Level Skill Repos
- Skill install and update flows now consistently resolve three source patterns: direct nested paths, install-name recursive search, and repository-root
SKILL.mdsources (#2231, thanks @santugege)
Gemini Session Restore Paths
- Gemini session scanning now reads
.project_rootmetadata (#2240, thanks @tisonkun) - Restore flows can pass the original project directory when available
Provider Hover Names
- Provider icons now expose the provider name on hover for inline SVG, image URL, and fallback initials render paths (#2237, thanks @tisonkun)
Notes & Caveats
- Hermes Health Scanner Removed: If you were relying on CC Switch to surface deep Hermes YAML configuration issues, switch to the "Launch Hermes Web UI" toolbar button and inspect them in Hermes's own panel. Day-to-day provider management, switching, memory editing, and MCP / Skills sync continue to be handled by CC Switch.
- Codex OAuth FAST Mode Off by Default: Only turn it on if you accept potentially increased ChatGPT quota consumption in exchange for lower latency.
- Tray Cached Usage: Refreshes are throttled and limited to the currently visible app to avoid unnecessary upstream API calls; values are synchronized into React Query so the main window and tray stay in sync.
Download & Installation
Visit Releases to download the appropriate version.
System Requirements
| OS | 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 ... |
CC Switch v3.14.0
CC Switch v3.14.0
Hermes Agent becomes the 6th managed app, Claude Opus 4.7 rolls out across the preset matrix, Gemini Native API proxy, "Local Routing" rename, and application-level window controls
Overview
CC Switch v3.14.0 is a major release centered on onboarding Hermes Agent as the 6th first-class managed app and rolling out Claude Opus 4.7 across the full aggregator and Bedrock preset matrix. Hermes support covers a database v9 → v10 migration, a complete Rust command surface, YAML-backed ~/.hermes/config.yaml read/write with atomic backups, MCP sync, Skills sync, SQLite + JSONL session management, and dedicated frontend panels including a Memory editor. All four API protocols aligned with Hermes Agent 0.10.0 (chat_completions, anthropic_messages, codex_responses, bedrock_converse) are selectable. Providers owned by the user-authored providers: dict are rendered as read-only cards, and deep YAML configuration is delegated directly to the Hermes Web UI.
Beyond Hermes, this release adds a Gemini Native API proxy (api_format = "gemini_native") so the proxy can forward directly to Google's generateContent endpoint with full streaming, schema conversion, and shadow request support; renames the legacy "Local Proxy Takeover" to Local Routing across UI copy, README, and docs in all three locales; introduces application-level window controls, an opt-in setting that materially improves the experience on Linux Wayland where compositor-drawn buttons can become inert; and bundles late additions for launching hermes dashboard from the toolbar, a LemonData preset across all six apps, a DDSHub Codex endpoint, plus several Hermes health-check and Usage modal fixes.
On the session side, the message list is virtualized via @tanstack/react-virtual so conversations with thousands of records scroll smoothly and long messages collapse by default; the Usage dashboard adds a date range picker (Today / 1d / 7d / 14d / 30d + custom date-time calendar) and a page-jump input; Stream Check error classification now surfaces color-coded toasts with refreshed default probe models and an explicit "model not found" branch; and switching to official providers is blocked while Local Routing is active to avoid account-suspension risk. The pricing database is reseeded from v8 → v9 with ~50 new model entries (Claude 4.7, Opus 4.7 Adaptive Thinking, Grok 4, Qwen 3.5/3.6, MiniMax M2.5/M2.7, Doubao Seed 2.0 series, GLM-5/5.1 and others) and corrected stale prices.
Release Date: 2026-04-21
Update Scale: 100 commits | 219 files changed | +20,548 / -3,569 lines
Highlights
- Hermes Agent Support (6th Managed App): Database v9 → v10 migration, full Rust command surface, YAML read/write with atomic backups, MCP sync, Skills sync, SQLite + JSONL session management, dedicated frontend panels, and four API protocols (
chat_completions/anthropic_messages/codex_responses/bedrock_converse) - Claude Opus 4.7 Rollout: Adaptive thinking whitelisting, per-million pricing seed, Bedrock SKU (
anthropic.claude-opus-4-7/global.anthropic.claude-opus-4-7, dropping the legacy-v1suffix); all aggregator and Bedrock presets migrated to Opus 4.7 as the default Opus model - Claude
maxEffort Tier: Effort dropdown upgraded fromhightomax - Gemini Native API Proxy: New
api_format = "gemini_native"forwards directly to Google'sgenerateContentwith full streaming / schema conversion / shadow request support - GitHub Copilot Enterprise Server: GHES authentication and endpoint configuration for Copilot-backed Claude providers
- Copilot Premium Consumption Deep Optimization: Proactive thinking-block stripping before forwarding,
tool_resultclassification fix, subagent detection,x-interaction-idbilling merge, orphantool_resultsanitization, and default warmup downgrade — a systematic reduction in premium interaction consumption - Session List Virtualization: Long conversations scroll smoothly and long messages collapse by default to reduce text layout cost
- Codex / OpenClaw Session Title Extraction: Meaningful title extraction with 2-line display; strips OpenClaw
message_idsuffix noise - Usage Date Range Picker: Today / 1d / 7d / 14d / 30d preset tabs + custom date-time calendar; page-jump input on paginated lists
- Stream Check Error Classification: Color-coded error toasts; refreshed default probe models; explicit "model not found" detection
- Block Official Provider Switching During Local Routing: Routing official API traffic through the local proxy carries account-suspension risk — switches are blocked with a warning toast
- Pricing Database Refresh (v8 → v9): ~50 new model entries and corrected stale prices
- Application-Level Window Controls: Opt-in setting to render CC Switch's own min/max/close buttons, materially improving Linux Wayland experience
- Hermes in Unified Skills Management: Skill install, enable, and filter now cover Hermes
- Hermes / OpenClaw Config Directory Override: Point CC Switch at a custom
~/.hermes/config.yamloropenclaw.jsonlocation - Launch Hermes Dashboard from Toolbar: When the Hermes Web UI probe fails, the toolbar entry offers to run
hermes dashboardin the user's preferred terminal - New Partner Presets: LemonData across all six apps; DDSHub Codex endpoint; StepFun Step Plan
Added
Hermes Agent Support (6th Managed App)
CC Switch now treats Hermes Agent as a first-class managed app alongside Claude / Codex / Gemini / OpenCode / OpenClaw.
- Database Migration v9 → v10: Adds
enabled_hermescolumns tomcp_serversandskillstables (DEFAULT 0, auto-migrated, no data loss) - YAML Configuration Read/Write:
~/.hermes/config.yamlread/write with atomic backups;tests/hermes_roundtrip.rsguards against dropped OAuth MCPauthblocks or pollution of unrelated YAML keys - Four API Protocols: Aligned with Hermes Agent 0.10.0 —
chat_completions/anthropic_messages/codex_responses/bedrock_converse; new deeplinks default tochat_completions - User
providers:Dict Read-Only Rendering: User-authored providers in the YAML appear as read-only cards in CC Switch; deep configuration delegates to the Hermes Web UI - Additive Switching: Unlike Claude / Codex's "override" style, all Hermes providers coexist in the same YAML
Hermes Memory Panel
- New Memory panel for editing
MEMORY.md/USER.mddirectly, with an enable switch, character-count limits, and a live save flow - Replaces the Prompts entry for Hermes
Hermes Provider Presets (~50)
- Covers Nous Research, Shengsuanyun, OpenRouter, DeepSeek, Together AI, StepFun, Zhipu GLM, Bailian, Kimi, MiniMax, DouBao, BaiLing, ModelScope, KAT-Coder, PackyCode, Cubence, AIGoCode, RightCode, AICodeMirror, AICoding, CrazyRouter, SSSAiCode, Micu, CTok.ai, DDSHub, E-FlowCode, LionCCAPI, PIPELLM, Compshare, SiliconFlow, AiHubMix, DMXAPI, TheRouter, Novita, Nvidia, and Xiaomi MiMo
Launch Hermes Dashboard from Toolbar
- When the Hermes Web UI probe fails, the toolbar entry opens a confirm dialog offering to run
hermes dashboardin the user's preferred terminal - Spawned via a temp bash / batch script;
hermes dashboardopens the browser itself once ready, so no polling is required - The Memory panel and Health banner keep the existing toast behavior
- Also corrects the stale
hermes webhint in the offline toast (the real command ishermes dashboard) - Linux terminal detection reordered to try
whichbefore stat'ing/usr/bin,/bin,/usr/local/bin
Claude Opus 4.7 Support
- New Claude Opus 4.7 with adaptive thinking whitelisting, per-million pricing seed, and Bedrock SKU (
anthropic.claude-opus-4-7/global.anthropic.claude-opus-4-7, dropping the legacy-v1suffix) - All aggregator and Bedrock presets migrated to Opus 4.7 as the default Opus model
Claude max Effort Tier
- Claude effort dropdown upgraded from
hightomaxfor extended reasoning capacity
Gemini Native API Proxy
- New
api_format = "gemini_native"so the proxy can forward directly to Google'sgenerateContentAPI (#1918, thanks @yovinchen) - Full streaming, schema conversion, and shadow request support
- Adds
gemini_url.rs,gemini_schema.rs,gemini_shadow.rs,streaming_gemini.rs, andtransform_gemini.rsunder the proxy providers module
GitHub Copilot Enterprise Server (GHES)
- GHES authentication and endpoint configuration for Copilot-backed Claude providers (#2175, thanks @hotelbe)
Session List Virtualization
- Virtualized the session list via
@tanstack/react-virtualso long conversations (thousands of records) scroll smoothly - Long session messages are collapsed by default to reduce text layout cost
Codex / OpenClaw Session Title Extraction
- Meaningful title auto-extraction for Codex and OpenClaw sessions with 2-line display
- Strips OpenClaw
message_idsuffix noise
Usage Date Range Picker
- New date range selector on the usage dashboard with preset tabs (Today / 1d / 7d / 14d / 30d) + custom date + time calendar (#2002, thanks @yovinchen)
- Page-jump input added on paginated lists
Model Mapping Quick-Set
- New quick-set button next to model mapping fields in provider forms for faster edits (#2179, thanks @lispking)
Stream Check Error Classification
- Stream Check errors are classified and surfaced as color-coded toasts
- Refreshed default probe models to match each vendor's current lineup
- Explicit detection for "model not found" responses
Block Official Provider S...
CC Switch v3.13.0
CC Switch v3.13.0
Lightweight Mode, Quota & Balance Visibility, Provider Model Auto-Fetch, Codex OAuth Reverse Proxy, and Tray Per-App Submenus
Overview
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
Highlights
- Lightweight Mode: Tray-only operating mode that destroys the main window on exit to tray and recreates it on demand, reducing CC Switch's desktop footprint to near zero when idle
- Quota & Balance Visibility: Inline quota or balance readout across provider cards — official Claude / Codex / Gemini subscriptions, GitHub Copilot premium interactions, Codex OAuth, Token Plan providers (Kimi / Zhipu GLM / MiniMax), plus official balance queries for DeepSeek, StepFun, SiliconFlow, OpenRouter, and Novita AI
- Provider Model Auto-Fetch: OpenAI-compatible
/v1/modelsdiscovery across Claude, Codex, Gemini, OpenCode, and OpenClaw provider forms, with grouped dropdown selection and failure-specific error messages - Codex OAuth Reverse Proxy: ChatGPT Codex reverse proxy exposed as a new Claude provider card type, allowing users to use their ChatGPT subscription in Claude Code. Includes managed OAuth login and inline subscription quota display (
⚠️ Risk Notice) - Tray Per-App Submenus: Reworked the tray menu into per-application submenus so it never overflows the screen and background provider switching scales to dozens of providers per app
- Skills Discovery & Batch Updates: SHA-256-based skill update detection, per-skill and "Update All" batch actions,
skills.shsearch integration, and a storage-location toggle between CC Switch storage and~/.agents/skills - Session Workflow Upgrades: Batch session deletion, a directory picker before launching Claude terminal restore, usage import from Claude / Codex / Gemini session logs without proxy interception, precise Codex JSONL parsing, and per-app usage filtering
- OpenCode / OpenClaw Stream Check Coverage: OpenCode detection via npm package mapping, OpenClaw
openai-completionssupport, and the remaining OpenClaw protocol variants — with custom-header passthrough and auth-header detection fixes - Full URL Endpoint Mode: Provider option that treats
base_urlas a complete upstream endpoint, unblocking vendors that require nonstandard URL layouts - Hyper-based Proxy Forwarding Stack: Refactored proxy forwarding onto a Hyper-based client with transparent header forwarding, improved endpoint rewriting, and better support for dynamic upstream endpoints
- Copilot Interaction Optimizer: Request classification and routing logic that reduces unnecessary GitHub Copilot premium interaction consumption
- UTF-8 Stream Chunk Boundary Fix: All four SSE streaming paths now preserve incomplete multi-byte UTF-8 sequences across TCP chunks, eliminating intermittent U+FFFD garbled output via the Copilot reverse proxy
- Linux Startup UI Fix: Fixed the long-standing issue where the window UI couldn't receive clicks on Linux until the user manually maximized and restored the window
- First-Run Onboarding: One-time welcome dialog on fresh installs, automatic seeding of Claude / OpenAI / Google official presets, and auto-import of OpenCode / OpenClaw live configurations on startup
- Claude Session Titles & Search Highlighting: Meaningful title extraction for Claude sessions using a priority chain (custom-title metadata → first user message → directory basename), plus keyword highlighting in Session Manager search results
- URL-Based Provider Icons: Dual rendering mode supporting Vite URL imports for large SVGs and raster images (PNG, JPG, WebP), keeping small SVGs inlined
- New Provider Presets: TheRouter, DDSHub, LionCCAPI, Shengsuanyun (胜算云), PIPELLM, and E-FlowCode across supported applications
New Features
Lightweight Mode
A tray-only operating mode that dramatically reduces CC Switch's desktop footprint when idle.
- Destroys the main window on exit-to-tray instead of hiding it, freeing UI resources and memory
- Recreates the window on demand when the user reopens CC Switch from the tray, a deeplink, or single-instance activation
- Integrated into every window-re-show path: normal startup, deeplink, single_instance, tray
show_main, and the lightweight-exit round-trip
Quota & Balance Visibility
Added inline quota and balance readouts to provider cards so users can see remaining capacity without leaving the card.
- Official subscriptions: Inline quota display for Claude, Codex, and Gemini official providers
- GitHub Copilot: Premium interactions quota display on the Copilot provider card
- Codex OAuth: ChatGPT subscription quota inline with the Codex OAuth provider card
- Token Plan providers: Kimi, Zhipu GLM, and MiniMax usage progression display (requires manual activation to avoid confusion)
- Third-party balances: Official balance queries for DeepSeek, StepFun, SiliconFlow, OpenRouter, and Novita AI (requires manual activation to avoid confusion)
- Health-check and usage-config buttons are hidden for official providers to keep the card clean
Provider Model Auto-Fetch
Added OpenAI-compatible model discovery to every provider form, removing the manual copy-paste loop for model IDs.
- Queries the configured provider endpoint's
/v1/models - Groups models in the dropdown by category for easier selection
- Failure-specific error messages distinguish network / authentication / endpoint issues
- Supported across all five applications: Claude, Codex, Gemini, OpenCode, and OpenClaw
Codex OAuth Reverse Proxy
Added a reverse proxy path for ChatGPT subscribers who want to use their ChatGPT subscription in Claude Code.
- Managed OAuth login flow with ChatGPT authentication
- Surfaces as a new Claude provider card type alongside API-key providers
- Inline subscription quota display
- Integrated into the Auth Center for unified token management
- See the
⚠️ Risk Notice below before enabling
Tray Per-App Submenus
Reorganized the tray menu so providers are grouped under each application instead of living in a flat list.
- Per-application submenus for Claude, Codex, Gemini, OpenCode, and OpenClaw
- Prevents the tray menu from overflowing the screen when users have many providers
- Background provider switching scales cleanly to long provider lists
Skills Discovery & Batch Updates
Upgraded the Skills management panel into a complete discovery plus maintenance workflow.
- SHA-256 update detection: Skills are content-hashed so the UI knows exactly which ones have upstream changes
- Per-skill and batch updates: Individual "Update" buttons plus an animated "Update All" batch action
- Storage-location toggle: Switch between CC Switch storage and
~/.agents/skillswithout losing skill state - Public registry search:
skills.shsearch integrated directly into the dialog for discovering community skills
Session Workflow Upgrades
Multiple session management improvements that reduce friction when working with Claude / Codex / Gemini sessions.
- Batch session deletion: Select and delete multiple sessions at once from Session Manager (#1693, thanks @Alexlangl)
- Directory picker before restore: Claude terminal restore now prompts for the working directory up front (#1752, thanks @yovinchen)
- Usage from session logs without proxy: Usage data imported directly from Claude / Codex / Gemini session logs — no proxy interception required
- Precise Codex JSONL parsing: Replaced estimated Codex usage with precise JSONL session-log parsing plus Codex model name normalization for consistent pricing lookup
- Gemini CLI session log integration: Gemini usage now syncs accurately from Gemini CLI session logs
- Per-app usage filtering: Filter the usage dashboard by Claude, Codex, or Gemini independently
OpenCode / OpenClaw Stream Check Coverage
Extended the Stream Check panel to cover the full OpenCode and OpenClaw surface area.
- OpenCode detection via npm package mapping
- Support for the OpenClaw
openai-completionsprotocol - Support for the remaining three OpenClaw protocol variants
- Edge-case handling for custom-header passthrough, OpenClaw custom auth-header detection, Bedrock error messaging, and OpenCode default
baseURLfallback
Full URL Endpoint Mode
Added a provider option that treats base_url as a complete upstream endpoint instead of a base URL with path appending (#1561, thanks @yovinchen).
- Proxy forwardi...
CC Switch v3.12.3
CC Switch v3.12.3
GitHub Copilot Reverse Proxy, macOS Code Signing & Notarization, Reasoning Effort Mapping, OpenCode SQLite Backend
Overview
CC Switch v3.12.3 is a major feature release that adds GitHub Copilot reverse proxy support with a dedicated Auth Center, introduces macOS code signing and Apple notarization for a seamless install experience, maps reasoning effort levels across providers, migrates OpenCode to a SQLite backend, enables Tool Search via the native ENABLE_TOOL_SEARCH environment variable toggle, and delivers a full skill backup/restore lifecycle. Additional improvements include proxy gzip compression, o-series model compatibility, Skills import rework, Ghostty terminal fix, Skills cache strategy optimization, Claude 4.6 context window update, and multiple bug fixes.
Release Date: 2026-03-24
Update Scale: 36 commits | 107 files changed | +9,124 / -802 lines
Highlights
- GitHub Copilot reverse proxy: Full Copilot proxy support with OAuth device flow authentication, token refresh, and request fingerprint emulation
- Copilot Auth Center: Dedicated authentication management UI for GitHub Copilot OAuth flow with token status display and one-click refresh
- macOS code signing & notarization: macOS builds are now code-signed and notarized by Apple, eliminating the "unidentified developer" warning entirely
- Reasoning Effort mapping: Proxy-layer auto-mapping — explicit
output_config.efforttakes priority, falling back tobudget_tokensthresholds (<4 000→low, 4 000–16 000→medium, ≥16 000→high) for o-series and GPT-5+ models - OpenCode SQLite backend: Added SQLite session storage for OpenCode alongside existing JSON backend; dual-backend scan with SQLite priority on ID conflicts
- Codex 1M context window toggle: One-click checkbox to set
model_context_window = 1000000with auto-populatedmodel_auto_compact_token_limit - Disable Auto-Upgrade toggle: Added
DISABLE_AUTOUPDATERenv var checkbox in the Claude Common Config editor to prevent Claude Code from auto-upgrading - Tool Search env var toggle: Tool Search enabled via Claude 2.1.76+ native
ENABLE_TOOL_SEARCHenvironment variable in the Common Config editor — no binary patching required - 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_tokensfor o1/o3/o4-mini models; Responses API kept on the correctmax_output_tokensfield - Skills import rework: Replaced implicit filesystem-based app inference with explicit
ImportSkillSelectionto prevent incorrect multi-app activation - Ghostty terminal support: Fixed Claude session restore in Ghostty terminal
New Features
GitHub Copilot Reverse Proxy
Added full reverse proxy support for GitHub Copilot, enabling Copilot-authenticated requests to be forwarded through CC Switch.
- Implements OAuth device flow authentication for GitHub Copilot
- Automatic token refresh and session management
- Request fingerprint emulation for seamless compatibility
- Integrated into the existing proxy infrastructure alongside Claude, Codex, and Gemini handlers
Copilot Auth Center
A dedicated authentication management UI for GitHub Copilot.
- OAuth device flow with code display and browser-based authorization
- Token status display showing expiration and validity
- One-click token refresh without re-authentication
- Integrated into the settings panel for easy access
Reasoning Effort Mapping
Proxy-layer auto-mapping of reasoning effort for OpenAI o-series and GPT-5+ models.
- Two-tier resolution: explicit
output_config.efforttakes priority, falling back to thinkingbudget_tokensthresholds (<4 000→low, 4 000–16 000→medium, ≥16 000→high) - Covers both Chat Completions and Responses API paths with 17 unit tests
OpenCode SQLite Backend
Added SQLite session storage support for OpenCode alongside the existing JSON backend.
- Dual-backend scan with SQLite priority on ID conflicts
- Atomic session deletion and path validation
- JSON backend remains functional for backwards compatibility
Codex 1M Context Window Toggle
Added a one-click toggle for Codex 1M context window in the config editor.
- Checkbox sets
model_context_window = 1000000inconfig.toml - Auto-populates
model_auto_compact_token_limit = 900000when enabled - Unchecking removes both fields cleanly
Disable Auto-Upgrade Toggle
Added a checkbox in the Claude Common Config editor to disable Claude Code auto-upgrades.
- Sets
DISABLE_AUTOUPDATER=1in the environment configuration when enabled - Displayed alongside Teammates mode, Tool Search, and High Effort toggles
Tool Search Environment Variable Toggle
Tool Search is now enabled via the native ENABLE_TOOL_SEARCH environment variable introduced in Claude 2.1.76+.
- Toggle available in the Common Config editor under environment variables
- Sets
ENABLE_TOOL_SEARCH=1in the Claude environment configuration - No binary patching required — uses Claude's built-in support
macOS Code Signing & Notarization
macOS builds are now code-signed and notarized by Apple.
- Application signed with a valid Apple Developer certificate
- Notarized through Apple's notarization service for Gatekeeper approval
- DMG installer also signed and notarized
- Eliminates the "unidentified developer" warning on first launch
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 ameta.jsoncontaining 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
Skills Cache Strategy Optimization
Optimized the Skills cache invalidation strategy for better performance.
- Reduced unnecessary cache refreshes during skill operations
- Improved cache coherence between skill install/uninstall and list queries
Claude 4.6 Context Window Update
Updated Claude 4.6 model preset with the latest context window size.
- Reflects the expanded context window for Claude 4.6 models
- Updated in provider presets for accurate model information display
MiniMax M2.7 Upgrade
- Updated MiniMax provider preset to M2.7 model variant
Xiaomi MiMo Upgrade
- Updated Xiaomi MiMo provider preset to the latest model version
AddProviderDialog Simplification
- Removed redundant OAuth tab, reducing dialog from 3 tabs to 2 (app-specific + universal)
Provider Form Advanced Options Collapse
- Model mapping, API format, and other advanced fields in the Claude provider form now auto-collapse when empty
- Auto-expands when any value is set or when a preset fills them in; does not auto-collapse when manually cleared
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: identityto 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_tokensinstead ofmax_tokensfor o1/o3/o4-mini models (#1451, thanks @Hemilt0n) - Responses API path kept on the correct
max_output_tokensfield instead of incorrectly injectingmax_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
ImportSkillSelectionto prevent incorrect multi-app activation when the same skill directory exists under multiple app paths - Added reconciliation to
sync_to_appto remove disabled/orphaned symlinks - MCP
sync_all_enablednow removes disabled servers from live config - Schema migration preserves a snapshot of legacy app mappings to avoid lossy reconstruction
Bug Fixes
WebDAV Password Clearing
- Fixed an issue where the WebDAV password was silently cleared when saving unrelated settings
Tool Message Parsing
- Fixed incorrect parsing of tool-use messages in certain proxy response formats
Dark Mode Styling
- Fixed dark mode rendering inconsistencies in UI components
Copilot Request Fingerprint
- Fixed request fingerprint generation for Copilot proxy to match expected format
Provider Form Double Submit
- Prevented duplicate submissions on rapid button clicks in provider add/edit forms (#1352, thanks @Hexi1997)
Ghostty Session Restore
- Fixed Claude session restore in Ghostty terminal (#1506, thanks @...
CC Switch v3.12.2
CC Switch v3.12.2
Common Config Protection During Proxy Takeover, Snippet Lifecycle Stability, Section-Aware Codex TOML Editing
Overview
CC Switch v3.12.2 is a reliability-focused patch release that addresses Common Config loss during proxy takeover and improves Codex TOML editing accuracy. Proxy takeover hot-switches and provider sync now update the restore backup instead of overwriting live config files; the startup sequence has been reordered so snippets are extracted from clean live files before takeover state is restored; and Codex base_url editing has been refactored into a section-aware model that no longer appends to the end of the file.
Release Date: 2026-03-12
Update Scale: 5 commits | 22 files changed | +1,716 / -288 lines
Highlights
-
Empty state guidance: Provider list empty state now shows detailed import instructions with a conditional Common Config snippet hint for Claude/Codex/Gemini
-
Proxy takeover restore flow rework: Hot-switches and provider sync now refresh the restore backup instead of overwriting live config files, preserving the full user configuration on rollback
-
Snippet lifecycle stability: Introduced a
clearedflag to prevent auto-extraction from resurrecting cleared snippets, and reordered startup to extract from clean state -
Section-aware Codex TOML editing:
base_urlandmodelfield reads/writes now target the correct[model_providers.<name>]section -
Codex MCP config protection: Existing
mcp_serversblocks in restore snapshots survive provider hot-switches via per-server-id merge instead of wholesale replacement, with provider/common-config definitions winning on conflict
New Features
Empty State Guidance
Improved the first-run experience with helpful guidance when the provider list is empty.
- Empty state page shows step-by-step import instructions
- Conditionally displays a Common Config snippet hint for Claude/Codex/Gemini providers (not shown for OpenCode/OpenClaw)
Changes
Proxy Takeover Restore Flow
The proxy takeover hot-switch and provider sync logic has been reworked to protect Common Config throughout the takeover lifecycle.
- Provider sync now updates the restore backup instead of writing directly to live config files when takeover is active
- Effective provider settings are rebuilt with Common Config applied before saving restore snapshots, so rollback restores the real user configuration
- Legacy providers with inferred common config usage are automatically marked with
commonConfigEnabled=true
Codex TOML Editing Engine
Codex config.toml update logic has been refactored onto shared section-aware TOML helpers.
- New Rust module
codex_config.rswithupdate_codex_toml_fieldandremove_codex_toml_base_url_if - New frontend utilities
getTomlSectionRange/getCodexProviderSectionNamefor section-aware operations - Inline TOML editing logic scattered across
proxy.rsnow delegates to the new module
Common Config Initialization Lifecycle
The startup sequence has been reordered for more robust snippet extraction and migration.
- Startup now auto-extracts Common Config snippets from clean live files before restoring proxy takeover state
- Introduced a snippet
clearedflag to track whether a user intentionally cleared a snippet - Persisted a one-time legacy migration flag to avoid repeated
commonConfigEnabledbackfills
Bug Fixes
Common Config Loss
- Fixed multiple scenarios where Common Config could be dropped during proxy takeover: sync overwriting live files, hot-switches producing incomplete restore snapshots, and provider switches losing config changes
Codex Restore Snapshot Preservation
- Fixed Codex takeover restore backups discarding existing
mcp_serversblocks during provider hot-switches; changed MCP backup preservation from wholesale table replacement to per-server-id merge so provider/common-config MCP updates win on conflict while backup-only servers are retained
Cleared Snippet Resurrection
- Fixed startup auto-extraction recreating Common Config snippets that users had intentionally cleared
Codex base_url Misplacement
- Fixed Codex
base_urlextraction and editing not targeting the correct[model_providers.<name>]section, causing it to append to the file tail or confusemcp_servers.*.base_urlentries for provider endpoints
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.2-Windows.msi |
Recommended - MSI installer with auto-update |
CC-Switch-v3.12.2-Windows-Portable.zip |
Portable version, extract and run, no registry write |
macOS
| File | Description |
|---|---|
CC-Switch-v3.12.2-macOS.zip |
Recommended - Extract and drag to Applications, Universal Binary |
CC-Switch-v3.12.2-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-switchUpdate:
brew upgrade --cask cc-switchLinux
| 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 |
CC Switch v3.12.1
CC Switch v3.12.1
Stability Fixes, StepFun Presets, OpenClaw authHeader, and New Sponsor Partners
Overview
CC Switch v3.12.1 is a patch release focused on stability improvements and bug fixes. It resolves a Common Config modal infinite reopen loop, a WebDAV sync foreign key constraint failure, and several i18n interpolation issues. It also adds StepFun provider presets, OpenClaw input type selection and authHeader support, upgrades the default Gemini model to 3.1-pro, and welcomes four new sponsor partners.
Release Date: 2026-03-12
Update Scale: 19 commits | 56 files changed | +1,429 / -396 lines
Highlights
- Common Config modal fix: Resolved an infinite reopen loop in the Common Config modal and added draft editing support
- WebDAV sync reliability: Fixed a foreign key constraint failure when restoring
provider_healthduring WebDAV sync - StepFun presets: Added StepFun (阶跃星辰) provider presets including the step-3.5-flash model
- OpenClaw enhancements: Added input type selection for model Advanced Options and
authHeaderfield for vendor-specific auth header support - Gemini model upgrade: Upgraded default Gemini model to 3.1-pro in provider presets
- New sponsors: Welcomed Micu API, XCodeAPI, SiliconFlow, and CTok as sponsor partners
New Features
StepFun Provider Presets
Added provider presets for StepFun (阶跃星辰), a leading Chinese AI model provider.
- New preset entries for StepFun across supported applications
- Includes the step-3.5-flash model (#1369, thanks @hengm3467)
OpenClaw Enhancements
Enhanced the OpenClaw configuration with more granular control and better vendor compatibility.
- Added input type selection dropdown for model Advanced Options (#1368, thanks @liuxxxu)
- Added optional
authHeaderboolean toOpenClawProviderConfigfor vendor-specific auth header support (e.g. Longcat), and refactored form state to reuse the shared type
Sponsor Partners
- Micu API: Added Micu API as sponsor partner with affiliate links
- XCodeAPI: Added XCodeAPI as sponsor partner
- SiliconFlow: Added SiliconFlow (硅基流动) as sponsor partner with affiliate links
- CTok: Added CTok as sponsor partner
Changes
- UCloud → Compshare: Renamed UCloud provider to Compshare (优云智算) with full i18n support across all three locales (EN/ZH/JA)
- Compshare Links: Updated Compshare sponsor registration links to coding-plan page
- Gemini Model Upgrade: Upgraded default Gemini model from 2.5-pro to 3.1-pro in provider presets
Bug Fixes
Common Config & UI
- Fixed an infinite reopen loop in the Common Config modal and added draft editing support to prevent data loss during edits
- Fixed toolbar compact mode not triggering on Windows due to left-side overflow (#1375, thanks @zuoliangyu)
- Fixed session search index not syncing with query data, causing stale list display after session deletion
Sync & Data
- Fixed foreign key constraint failure when restoring
provider_healthtable during WebDAV sync
Provider & Preset
- Added missing
authHeader: trueto Longcat provider preset (#1377, thanks @wavever) - Aligned OpenClaw tool permission profiles with upstream schema (#1355, thanks @bigsongeth)
- Corrected X-Code API URL from
www.x-code.cntox-code.cc
i18n & Localization
- Fixed stream check toast i18n interpolation keys not matching translation placeholders
- Fixed proxy startup toast not interpolating address and port values (#1399, thanks @Mason-mengze)
- Renamed OpenCode API format label from "OpenAI" to "OpenAI Responses" for accuracy
Special Thanks
Thanks to all contributors for their contributions to this release!
@hengm3467 @liuxxxu @bigsongeth @zuoliangyu @wavever @Mason-mengze
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.1-Windows.msi |
Recommended - MSI installer with auto-update |
CC-Switch-v3.12.1-Windows-Portable.zip |
Portable version, extract and run, no registry write |
macOS
| File | Description |
|---|---|
CC-Switch-v3.12.1-macOS.zip |
Recommended - Extract and drag to Applications, Universal Binary |
CC-Switch-v3.12.1-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-switchUpdate:
brew upgrade --cask cc-switchLinux
| 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 |
CC Switch v3.12.0
CC Switch v3.12.0
Stream Check Returns, OpenAI Responses API Arrives, and OpenClaw / WebDAV Get a Major Upgrade
Overview
CC Switch v3.12.0 is a feature release focused on provider compatibility, OpenClaw editing, Common Config usability, and sync/data reliability. It restores the Model Health Check (Stream Check) UI with improved stability, adds OpenAI Responses API format conversion, expands provider presets for Ucloud, Micu, X-Code API, Novita, and Bailian For Coding, and upgrades WebDAV sync with dual-layer versioning.
Release Date: 2026-03-09
Update Scale: 56 commits | 221 files changed | +20,582 / -8,026 lines
Highlights
- Stream Check returns: Restored the model health check UI, added first-run confirmation, and fixed
openai_chatprovider support - OpenAI Responses API: Added
api_format = "openai_responses"with bidirectional conversion and shared conversion cleanup — simply select the Responses API format when adding a provider and enable proxy takeover, and you can use GPT-series models in Claude Code! - OpenClaw overhaul: Introduced JSON5 round-trip config editing, a config health banner, better agent model selection, and a User-Agent toggle
- Preset expansion: Added Ucloud, Micu, X-Code API, Novita, and Bailian For Coding updates, plus SiliconFlow partner badge and model-role badges
- Sync and maintenance improvements: Added WebDAV protocol v2 + db-v6 versioning, daily rollups, incremental auto-vacuum, and sync-aware backup
- Common Config usability improvements: After updating a Common Config Snippet, it is now automatically applied when switching providers — no more manual checkbox needed
Main Features
Model Health Check (Stream Check)
Restored the Stream Check panel for live provider validation, improving the reliability of provider management.
- Restored Stream Check UI panel with single and batch provider availability testing
- Added first-run confirmation dialog to prevent unsupported providers from showing misleading errors
- Fixed detection compatibility for
openai_chatAPI format providers
OpenAI Responses API
Added native support for providers using the OpenAI Responses API with a new openai_responses API format.
- New
api_format = "openai_responses"provider format option - Bidirectional Anthropic Messages <-> OpenAI Responses API format conversion
- Consolidated shared conversion logic to reduce code duplication
Bedrock Request Optimizer
Added a PRE-SEND phase request optimizer for AWS Bedrock providers to improve compatibility and performance.
- PRE-SEND thinking + cache injection optimizer (#1301, thanks @keithyt06)
OpenClaw Config Enhancements
Comprehensive upgrade to the OpenClaw configuration editing experience with richer management capabilities.
- JSON5 round-trip write-back: preserves comments and formatting when editing configs
- EnvPanel JSON editing mode and
tools.profileselection support - New config validation warnings and config health status checks
- Improved agent model dropdown with recommended model fill from provider presets
- User-Agent toggle: optionally append OpenClaw identifier to requests (defaults to off)
- Legacy timeout configuration auto-migration
Provider Presets
New and expanded provider presets covering more providers and use cases.
- Ucloud: Added
endpointCandidatesand OpenClaw defaults, refreshedtemplateValues/suggestedDefaults - Micu: Added preset defaults and OpenClaw recommended models
- X-Code API: Added Claude presets and
endpointCandidates - Novita: New provider preset (#1192, thanks @Alex-wuhu)
- Bailian For Coding: New provider preset (#1263, thanks @suki135246)
- SiliconFlow: Added partner badge
- Model Role Badges: Provider presets now support model-role badge display
WebDAV Sync Enhancements
WebDAV sync introduces dual-layer versioning for improved sync reliability and data safety.
- New WebDAV protocol v2 + db-v6 dual-layer versioning
- Confirmation dialog when toggling WebDAV auto-sync on/off to prevent accidental changes
- Sync-aware backup: uses a sync-specific backup variant that skips local-only table data
Usage & Data
Enhanced usage statistics and data maintenance capabilities for finer-grained data management, significantly reducing database growth rate.
- Daily rollups: aggregate usage data by day to reduce storage overhead
- Auto-vacuum: incremental database cleanup to maintain database health
- UsageFooter extra statistics fields (#1137, thanks @bugparty)
Other New Features
- Session Deletion: Per-provider session cleanup with path safety validation
- Claude Auth Field Selector: Restored authentication field selector
- Failover Toggle on Main Page: Moved the failover toggle to display independently on the main page with a first-use confirmation dialog
- Common Config Auto-Extract: On first run, automatically extracts common config snippets from live config files
- New Provider Page Improvements: Improved new provider page experience (#1155, thanks @wugeer)
Architecture Improvements
Common Config Runtime Overlay
Common Config Snippets are now applied as a runtime overlay instead of being materialized into stored provider configs.
Before: Common Config content was merged directly into each provider's settings_config on save or switch. This caused shared configuration to be duplicated across every provider entry, requiring manual sync when changes were needed.
After: Common Config is only injected as a runtime overlay when switching providers and writing to the live file — provider entries themselves no longer contain shared configuration. This means modifying Common Config takes effect immediately without updating each provider individually.
Common Config Auto-Extract
On first run, if no Common Config Snippet exists in the database, one is automatically extracted from the current live config. This ensures users upgrading from older versions do not lose their existing shared configuration settings.
Periodic Maintenance Timer Consolidation
Consolidated daily rollups and auto-vacuum into a unified periodic maintenance timer, eliminating resource contention and complexity from multiple independent timers.
Bug Fixes
Proxy & Streaming
- Fixed OpenAI ChatCompletion -> Anthropic Messages streaming conversion
- Added Codex
/responses/compactroute support (#1194, thanks @Tsukumi233) - Improved TOML config merge logic to prevent key-value loss
- Improved proxy forwarder failure logs with additional diagnostic information
Provider & Preset Fixes
- Renamed X-Code to X-Code API for consistent branding
- Fixed SSSAiCode
/v1path issue - Removed incorrect
wwwprefix from AICoding URLs - Fixed new provider page line-break deletion issue (#1155, thanks @wugeer)
Platform Fixes
- Fixed cache hit token statistics not being reported (#1244, thanks @a1398394385)
- Fixed minimize-to-tray causing auto exit after some time (#1245, thanks @YewFence)
i18n Fixes
- Added 69 missing translation keys and removed remaining hardcoded Chinese strings
- Fixed model test panel i18n issues
- Normalized JSON5 slash escaping to prevent i18n string parsing errors
UI Fixes
- Fixed Skills count display (#1295, thanks @fzzv)
- Removed HTTP status code display from endpoint speed test to reduce visual noise
- Fixed outline button styling (#1222, thanks @Sube-py)
Performance
- Skip unnecessary OpenClaw config writes when config is unchanged, reducing disk I/O
Documentation
- Restructured the user manual for i18n and added complete EN/JA coverage
- Added OpenClaw usage documentation and completed settings documentation
- Added UCloud sponsor information
- Reorganized the docs directory and synced README feature sections across EN/ZH/JA
Notes & Considerations
- Common Config now uses runtime overlay: Common Config Snippets are no longer materialized into each provider's stored config. They are dynamically applied at switch time. Modifying Common Config takes effect immediately without updating each provider.
- Stream Check requires first-use confirmation: A confirmation dialog appears when using the model health check for the first time. Testing proceeds only after confirmation.
- OpenClaw User-Agent toggle defaults to off: The User-Agent identifier must be manually enabled in the OpenClaw configuration.
Special Thanks
Thanks to all contributors for their contributions to this release!
@keithyt06 @bugparty @Alex-wuhu @suki135246 @Tsukumi233 @wugeer @fzzv @Sube-py @a1398394385 @YewFence
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.0-Windows.msi |
**Recommende... |
CC Switch v3.11.1
CC Switch v3.11.1
Revert Partial Key-Field Merging, Restore Common Config Snippet & Bug Fixes
Overview
CC Switch v3.11.1 is a hotfix release that reverts the Partial Key-Field Merging architecture introduced in v3.11.0, restoring the proven "full config overwrite + Common Config Snippet" mechanism. It also includes several UI and platform compatibility fixes.
Release Date: 2026-02-28
Update Scale: 8 commits | 52 files changed | +3,948 / -1,411 lines
Highlights
- Restore Full Config Overwrite + Common Config Snippet: Reverted partial key-field merging due to critical data loss issues; restores full config snapshot write and Common Config Snippet UI
- Proxy Panel Improvements: Proxy toggle moved into panel body for better discoverability of takeover options
- Theme & Compact Mode Fixes: "Follow System" theme now auto-updates; compact mode exit works correctly
- Windows Compatibility: Disabled env check and one-click install to prevent protocol handler side effects
Reverted
Restore Full Config Overwrite + Common Config Snippet
Reverted the partial key-field merging refactoring introduced in v3.11.0 (revert 992dda5).
Why reverted: The partial key-field merging approach had three critical issues:
- Data loss on switch: Non-whitelisted custom fields were silently dropped during provider switching
- Permanent backfill stripping: Backfill permanently removed non-key fields from the database, causing irreversible data loss
- Maintenance burden: The whitelist of "key fields" required constant maintenance as new config keys were added
What's restored:
- Full config snapshot write on provider switch (predictable, complete overwrite)
- Common Config Snippet UI and backend commands
- 6 frontend components/hooks (3 components + 3 hooks)
Migration:
- If you upgraded to v3.11.0 and your providers lost custom fields, re-import your config or manually re-add the missing fields
- Common Config Snippet is available again — use it to define shared config that should persist across provider switches
Changed
- Proxy Panel Layout: Moved proxy on/off toggle from accordion header into panel content area, placed directly above app takeover options. This ensures users see takeover configuration immediately after enabling the proxy, avoiding the common mistake of enabling the proxy without configuring takeover
- Manual Import for OpenCode/OpenClaw: Removed auto-import on startup; empty state now shows an "Import Current Config" button, consistent with Claude/Codex/Gemini behavior
Fixed
- "Follow System" Theme Not Auto-Updating: Delegated to Tauri's native theme tracking (
set_window_theme(None)) so the WebView'sprefers-color-schememedia query stays in sync with OS theme changes - Compact Mode Cannot Exit: Restored
flex-1ontoolbarRefsouseAutoCompact's exit condition triggers correctly based on available width instead of content width - Proxy Takeover Toast Shows {{app}}: Added missing
appinterpolation parameter to i18nextt()calls for proxy takeover enabled/disabled messages - Windows Protocol Handler Side Effects: Disabled environment check and one-click install on Windows to prevent unintended protocol handler registration
Notes & Considerations
- Common Config Snippet is back: If you relied on this feature in v3.10.x and earlier, it works the same way again. Define shared config that should persist across all provider switches.
- v3.11.0 Partial Key-Field Merging users: If you noticed missing config fields after switching providers in v3.11.0, re-import your config to restore them.
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.11.1-Windows.msi |
Recommended - MSI installer with auto-update |
CC-Switch-v3.11.1-Windows-Portable.zip |
Portable version, extract and run, no registry write |
macOS
| File | Description |
|---|---|
CC-Switch-v3.11.1-macOS.zip |
Recommended - Extract and drag to Applications, Universal Binary |
CC-Switch-v3.11.1-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-switchUpdate:
brew upgrade --cask cc-switchLinux
| 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 |
CC Switch v3.11.0
CC Switch v3.11.0
OpenClaw Support, Session Manager, Backup Management & 50+ Improvements
Overview
CC Switch v3.11.0 is a major update that adds full management support for OpenClaw as the fifth application, introduces a new Session Manager and Backup Management feature. Additionally, Oh My OpenCode (OMO) integration, the partial key-field merging architecture upgrade for provider switching, settings page refactoring, and many other improvements make the overall experience more polished.
Release Date: 2026-02-26
Update Scale: 147 commits | 274 files changed | +32,179 / -5,467 lines
Highlights
- OpenClaw Support: Fifth managed application with 13 provider presets, Env/Tools/AgentsDefaults config editors, and Workspace file management
- Session Manager: Browse conversation history across all five apps with table-of-contents navigation and in-session search
- Backup Management: Independent backup panel with configurable policies, periodic backups, and pre-migration auto-backup
- Oh My OpenCode Integration: Full OMO config management with OMO Slim lightweight mode support
- Partial Key-Field Merging (
⚠️ Breaking Change): Provider switching now only replaces provider-related fields, preserving all other settings; the "Common Config Snippet" feature has been removed - Settings Page Refactoring: 5-tab layout with ~40% code reduction
- 6 New Provider Presets: AWS Bedrock, SSAI Code, CrazyRouter, AICoding, and more
- Thinking Budget Rectifier: Fine-grained thinking budget control
- Theme Switch Animation: Circular reveal transition animation
- WebDAV Auto Sync: Automatic sync with large file protection
Main Features
OpenClaw Support (New Fifth App)
Full management support for OpenClaw, the fifth managed application following Claude Code, Codex, Gemini CLI, and OpenCode.
- Provider Management: Add, edit, switch, and delete OpenClaw providers with 13 built-in presets
- Config Editors: Three dedicated panels for Env (environment variables), Tools, and AgentsDefaults
- Workspace Panel: HEARTBEAT/BOOTSTRAP/BOOT file management and daily memory
- Additive Overlay Mode: Support config overlay instead of overwrite
- Default Model Button: One-click to fill recommended models; auto-register suggested models to allowlist when adding providers
- Brand & Interaction: Dedicated brand icon, fade-in/fade-out transition animation when switching apps
- Deep Link Support: Import OpenClaw provider configurations via URL
- Full Internationalization: Complete Chinese/English/Japanese support
Session Manager
A brand-new session manager to browse and search conversation history.
- Browse conversation history across Claude Code, Codex, Gemini CLI, OpenCode, and OpenClaw (#867, thanks @TinsFox)
- Table-of-contents navigation and in-session search
- Auto-filter by current app when entering the session page
- Parallel directory scanning + head-tail JSONL reading for optimized loading performance
Backup Management
An independent backup management panel for better data safety.
- Configurable backup policy: maximum backup count and auto-cleanup rules
- Hourly automatic backup timer during runtime
- Auto-backup before database schema migrations with backfill warning
- Support backup rename and deletion (with confirmation dialog)
- Backup filenames use local time for better clarity
Oh My OpenCode (OMO) Integration
Full Oh My OpenCode config file management.
- Agent model selection, category configuration, and recommended model fill (#972, thanks @yovinchen)
- Improved agent model selection UX with lowercase key fix (#1004, thanks @yovinchen)
- OMO Slim lightweight mode support
- OMO ↔ OMO Slim mutual exclusion (enforced at database level)
Workspace
- Full-text search across daily memory files, sorted by date
- Clickable directory paths for quick file location access
Toolbar
- AppSwitcher auto-collapses to compact mode based on available width
- Smooth transition animation for compact mode toggle
Settings
- First-use confirmation dialogs for proxy and usage features to prevent accidental operations
- New
enableLocalProxyswitch to control proxy UI visibility on home page - More granular local environment checks: CLI tool version detection (#870, thanks @kv-chiu), Volta path detection (#969, thanks @myjustify)
Provider Presets
- AWS Bedrock: Support for AKSK and API Key authentication modes (#1047, thanks @keithyt06)
- SSAI Code: Partner preset across all five apps
- CrazyRouter: Partner preset with dedicated icon
- AICoding: Partner preset with i18n promotion text
- Updated domestic model provider presets to latest versions
- Renamed Qwen Coder to Bailian (#965, thanks @zhu-jl18)
Other New Features
- Thinking Budget Rectifier: Fine-grained thinking budget allocation control (#1005, thanks @yovinchen)
- WebDAV Auto Sync: Automatic sync with large file protection (#923, thanks @clx20000410; #1043, thanks @SaladDay)
- Theme Switch Animation: Circular reveal transition for a smoother visual experience (#905, thanks @funnytime75)
- Claude Config Editor Quick Toggles: Quick toggle switches for common settings (#1012, thanks @JIA-ss)
- Dynamic Endpoint Hint: Context-aware hint text based on API format selection (#860, thanks @zhu-jl18)
- Usage Dashboard Enhancement: Auto-refresh control and robust formatting (#942, thanks @yovinchen)
- New Pricing Data: claude-opus-4-6 and gpt-5.3-codex (#943, thanks @yovinchen)
- Silent Startup Optimization: Silent startup option only shown when launch-on-startup is enabled
Architecture Improvements
Partial Key-Field Merging (⚠️ Breaking Change)
Provider switching now uses partial key-field merging instead of full config overwrite (#1098).
Before: Switching providers overwrote the entire settings_config to the live config file. This meant that any non-provider settings the user manually added to the live file (plugins, MCP config, permissions, etc.) would be lost on every switch. To work around this, previous versions offered a "Common Config Snippet" feature that let users define shared config to be merged on every switch.
After: Switching providers now only replaces provider-related key-values (API keys, endpoints, models, etc.), leaving all other settings intact. The "Common Config Snippet" feature is therefore no longer needed and has been removed.
Impact & Migration:
- If you didn't use Common Config Snippets, this change is fully transparent — switching just works better now
- If you used Common Config Snippets to preserve custom settings (MCP config, permissions, etc.), those settings are now automatically preserved during switches — no action needed
- If you used Common Config Snippets for other purposes (e.g., injecting extra config on every switch), please manually add those settings to your live config file after upgrading
This refactoring removed 6 frontend files (3 components + 3 hooks) and ~150 lines of backend dead code.
Manual Import Replaces Auto-Import
Startup no longer auto-imports external configurations. Users now click "Import Current Config" manually, preventing accidental data overwrites.
OmoVariant Parameterization
Eliminated ~250 lines of duplicated code in the OMO module via OmoVariant struct parameterization.
OMO Common Config Removal
Removed the two-layer merge system, reducing ~1,733 lines of code and simplifying the architecture.
ProviderForm Decomposition
Reduced ProviderForm component from 2,227 lines to 1,526 lines by extracting 5 independent modules (opencodeFormUtils, useOmoModelSource, useOpencodeFormState, useOmoDraftState, useOpenclawFormState), significantly improving maintainability.
Shared MCP/Skills Components
Extracted AppCountBar, AppToggleGroup, and ListItemRow shared components to reduce duplication across MCP and Skills panels (#897, thanks @PeanutSplash).
Settings Page Refactoring
Refactored settings page to a 5-tab layout (General | Proxy | Advanced | Usage | About), reducing SettingsPage code from ~716 to ~426 lines.
Other Improvements
- Unified terminal selection via global settings with WezTerm support added
- Updated Claude model references from 4.5 to 4.6
Bug Fixes
Critical Fixes
- Windows Home Dir Regression: Restored default home directory resolution to prevent providers/settings "disappearing" when
HOMEenv var differs from the real user profile directory in Git/MSYS environments - Linux White Screen: Disabled WebKitGTK hardware acceleration on AMD GPUs (Cezanne/Radeon Vega) to prevent blank screen on startup (#986, thanks @ThendCN)
- OpenAI Beta Parameter: Stopped appending
?beta=trueto/v1/chat/completionsendpoints, fixing request failures for Nvidia and otherapiFormat="openai_chat"providers (#1052, thanks @jnorthrup) - Health Check Auth: Health check now respects provider's
auth_modesetting, preventing failures for proxy services that only support Bearer authentication (#824, thanks @Jassy930)
Provider Preset Fixes
- Fixed OpenClaw
/v1prefix causing double path (/v1/v1/messages) - Corrected Opus pricing ($15/$75 → $5/$25) and upgraded to 4.6
- Unified AIGoCode URL to
https://api.aigocode.comacross all apps - Removed outdated partner status from Zhipu GLM presets
- Restored API Key input visibility when creating new Claude providers
- Hide quick toggles for non-active providers, show context-aware JSON editor hints
OMO Fixes
- Added missing omo-slim category checks across add/form/mutation paths
- Fixed OMO Slim query cache invalidation after provider mutations
- Synced OMO agent/catego...
CC Switch v3.10.3
CC Switch v3.10.3
Feature Release
API Format Selector, Pricing Enhancements, Skills ZIP Install & Linux ARM64 Support
Added
- API Format Selector: Generic API format chooser for Claude providers, replacing the OpenRouter-specific toggle. Supports Anthropic Messages (native) and OpenAI Chat Completions format
- API Format Presets: Allow preset providers to specify API format (anthropic or openai_chat) for third-party proxy services
- Pricing Config Enhancement: Per-provider cost multiplier, pricing model source (request/response), request model logging, and enriched usage UI (#781, thanks @yovinchen)
- Skills ZIP Install: Install skills directly from local ZIP files with recursive scanning support
- Preferred Terminal: Choose preferred terminal app per platform (macOS: Terminal.app/iTerm2/Alacritty/Kitty/Ghostty; Windows: cmd/PowerShell/Windows Terminal; Linux: GNOME Terminal/Konsole/Xfce4/Alacritty/Kitty/Ghostty)
- Silent Startup: Option to prevent window popup on launch (#713, thanks @funnytime75)
- OpenCode API Key Link: API key link support for OpenCode provider form
- OpenCode Environment Check: Version detection with Go path scanning and one-click install from GitHub Releases
- OpenCode Directory Sync: Auto-sync all providers to live config on directory change with additive mode support
- AICodeMirror Partner Preset: Added AICodeMirror partner preset for all apps (Claude, Codex, Gemini, OpenCode)
- NVIDIA NIM Preset: New provider preset for Claude and OpenCode with nvidia.svg icon
- n1n.ai Preset: New provider preset (#667, thanks @n1n-api)
- Linux ARM64: CI build support for Linux ARM64 architecture
Changed
- API Format Migration: Migrate api_format from settings_config to ProviderMeta to prevent polluting ~/.claude/settings.json
- DeepSeek max_tokens: Remove max_tokens clamp from proxy transform layer
- Terminal Functions: Consolidate redundant terminal launch functions
- Home Dir Utility: Consolidate get_home_dir into single public function
- Kimi/Moonshot: Upgrade provider presets to k2.5 model
- Update Badge Icon: Replace update badge dot with ArrowUpCircle icon
Fixed
- Codex 404 & Timeout: Fix 404 errors and connection timeout with custom base_url; improve /v1 prefix handling and system proxy detection (#760, thanks @Darkbluelr)
- Proxy URL Building: Fix duplicate /v1/v1 in URL; extend ?beta=true to /v1/chat/completions endpoint
- OpenRouter Compat Mode: Improve backward compatibility supporting number and string types
- Gemini Visibility: Correct Gemini default visibility to true (#818, thanks @zhu-jl18)
- Footer Layout: Correct footer layout in advanced settings tab
- Claude Code Detection: Prioritize native install path for detection
- Tray Menu: Simplify title labels and optimize menu separators (#796, thanks @fchange)
- Duplicate Skills: Prevent duplicate skill installation from different repos (#778, thanks @yovinchen)
- Windows Tests: Stabilize test environment (#644, thanks @cxyfer)
- i18n: Update apiFormatOpenAIChat label to mention proxy requirement
- Error Display: Use extractErrorMessage for complete error display in mutations
CC Switch v3.10.2
Patch Release
This maintenance release adds skill sync options and includes important bug fixes.
Added
- Skills: Add skill sync method setting with symlink/copy options
- Partners: Add RightCode as official partner
Fixed
- Prompts: Clear prompt file when all prompts are disabled
- OpenCode: Preserve extra model fields during serialization
- Provider Form: Backfill model fields when editing Claude provider
CC Switch v3.10.1
Patch Release
This maintenance release includes important bug fixes for Windows platform, UI improvements, and code quality enhancements.
Added
- Provider Icons: Updated RightCode provider icon with improved visual design
Changed
- Proxy Rectifier: Changed rectifier default state to disabled for better stability
- Window Settings: Reordered window settings and updated default values for improved UX
- UI Layout: Increased app icon collapse threshold from 3 to 4 icons
- Code Quality: Simplified
RectifierConfigimplementation using#[derive(Default)]
Fixed
- Windows Platform:
- Fixed terminal window closing immediately after execution on Windows
- Corrected OpenCode config path resolution on Windows
- UI Improvements:
- Fixed ProviderIcon color validation to prevent black icons from appearing
- Unified layout padding across all panels for consistent spacing
- Fixed panel content alignment with header constraints
CC Switch v3.10.0
OpenCode Support, Global Proxy, Claude Rectifier & Multi-App Experience Enhancements
Overview
CC Switch v3.10.0 introduces OpenCode support, becoming the fourth managed CLI application.
This release also brings global proxy settings, Claude Rectifier (thinking signature fixer), enhanced health checks, per-provider configuration, and many other important features, along with comprehensive improvements to multi-app workflows and terminal experience.
Release Date: 2026-01-21
Highlights
- OpenCode Support: Full management of providers, MCP servers, and Skills with auto-import on first launch
- Global Proxy: Configure a unified proxy for all outbound network requests
- Claude Rectifier: Thinking signature fixer for better compatibility with third-party APIs
- Enhanced Health Checks: Configurable prompts and CLI-compatible request format
- Per-Provider Config: Persistent provider-specific configuration support
- App Visibility Control: Freely show/hide apps with synchronized tray menu updates
- Terminal Improvements: Provider-specific terminal buttons, fnm path support, cross-platform safe launch
- WSL Tool Detection: Detect tool versions in WSL environment with security hardening
Main Features
OpenCode Support (New Fourth App)
- Complete OpenCode provider management: add, edit, switch, delete
- MCP server management: unified architecture with Claude/Codex/Gemini
- Skills support: OpenCode can also use Skills functionality
- Auto-import on first launch: automatically imports existing OpenCode configuration when detected
- Full internationalization: Chinese/English/Japanese support (#695)
Global Proxy
- Configure a unified proxy for all outbound network requests (#596, thanks @yovinchen)
- Supports HTTP/HTTPS proxy protocols
- Suitable for network environments requiring proxy access to external APIs
Claude Rectifier (Thinking Signature Fixer)
- Automatically fixes Claude API thinking signatures (#595, thanks @yovinchen)
- Resolves incompatible thinking block formats returned by some third-party API gateways
- Can be enabled/disabled in Advanced Settings
Enhanced Health Checks
- Configurable custom prompts for streaming health checks (#623, thanks @yovinchen)
- Supports CLI-compatible request format for better simulation of real usage scenarios
- Improves fault detection accuracy
Per-Provider Config
- Support for saving configuration separately for each provider (#663, thanks @yovinchen)
- Persistent configuration: provider-specific settings retained after restart
- Suitable for scenarios where different providers require different configurations
App Visibility Control
- Freely show/hide any app (Gemini hidden by default)
- Tray menu automatically syncs visibility settings
- Hidden apps won't appear in the main interface or tray menu
Takeover Compact Mode
- Automatically uses compact layout when 3 or more visible apps are displayed
- Optimizes space utilization in multi-app scenarios
Terminal Improvements
- Provider-specific terminal button: one-click to use current provider in terminal (#564, thanks @kkkman22)
fnmpath support: automatically recognizes Node.js paths managed by fnm- Cross-platform safe launch: improved terminal launch logic for Windows/macOS/Linux
WSL Tool Detection
- Detect tool versions in WSL environment (#627, thanks @yovinchen)
- Added security hardening to prevent command injection risks
Skills Preset Enhancements
- Added
baoyu-skillspreset repository - Automatically supplements missing default repositories for out-of-the-box experience
Experience Improvements
- Keyboard shortcuts: Press
ESCto quickly return/close panels (#670, thanks @xxk8) - Simplified proxy logs: cleaner and more readable output (#585, thanks @yovinchen)
- Pricing editor UX: unified
FullScreenPanelstyle - Advanced settings layout: Rectifier section moved below Failover for better logical flow
- OpenRouter compatibility mode: disabled by default, UI toggle hidden (reduces clutter)
Bug Fixes
Proxy & Failover
- Immediately switch to P1 when auto-failover is enabled (instead of waiting for next request)
Provider Management
- Fixed stale data when reopening provider edit dialog after save (#654, thanks @YangYongAn)
- Fixed baseUrl and apiKey state not resetting when switching presets
- Fixed endpoint auto-selection state not persisting (#611, thanks @yovinchen)
- Automatically apply default color when icon color is not set
Deep Links
- Support multi-endpoint import (#597, thanks @yovinchen)
- Prefer
GOOGLE_GEMINI_BASE_URLoverGEMINI_BASE_URL