macOS cc-switch检测版本错误/卡死 - CC Switch Fix
Quick fix
修改.zshrc中fastfetch调用,添加[[ -t 1 ]]限制非交互式输出。
Symptom
Section titled “Symptom”mac 版本在检查到新版本后,点击按钮更新之后每次都会卡死。在 macOS 上,cc-switch 通过执行 `zsh -lic` 来检测工具(如 Codex/Claude Code)的版本。如果用户的 shell 配置文件(如 ~/.zshrc)中包含无条件执行的命令(例如 `fastfetch`),这些命令会在非交互式子 shell 启动时向 stdout 输出额外信息(如系统版本号或 ASCII 艺术图)。
cc-switch 使用正则表达式 `.find()` 获取输出的第一个版本号片段。当 `fastfetch` 等工具先于实际 CLI 工具输出版本号(例如将 macOS 系统版本 `15.7.9` 误判为工具版本)时,前端会认为当前版本高于远程最新版本,导致界面显示“已就绪”且升级按钮计算异常。此外,部分用户反馈在此过程中客户端会出现卡死现象。
打开终端,编辑你的 zsh 配置文件。
~/.zshrc找到调用 fastfetch(或其他可能输出文本的命令)的行,在其前添加条件判断 `[[ -t 1 ]] &&`,确保它仅在真实终端交互时才执行。
~/.zshrc
Affected Versions
Section titled “Affected Versions”ToolClaude Code / Codex / Gemini CLI
Version3.16.2 - 3.18.0
PlatformsmacOS
Source Issues
Section titled “Source Issues”本页汇总自 16 个真实 issue
- #5178winget 安装的claude code识别不了
- #928版本3.10.3的热切换失效
- #3048如何还原Claude Desktop Official的配置
- #4791MacOS brew upgarde cc-switch reduced version
- #4845“模型测试”按钮
- #1346CC-SWITCH 配置完成后,一直处于正在思考
- #4737claude-haiku-4-5-20251001 一直429 ccs最新版本
- #5769[BUG]grok build 0.2.112升级后会显示需要身份验证
- #2660复制配置会导致无法使用
- #2918Claude Desktop 今日更新最新版本后,自定义配置失效
- #3956ubuntu 自动更新
- #3937mac版本检查错误问题
- #4907最小化后再打开会卡顿几秒
- #6539软件无法自动更新skill目录
- #6774claude code思考强度字段自定义映射
- #6797关于新版本的PI配置部分获取不到模型问题
- 为什么其他平台没有这个问题?
- 该问题主要源于 macOS 默认的 zsh shell 行为以及特定插件(如 fastfetch)在非交互式环境下的输出干扰。Windows (PowerShell/CMD) 和 Linux 的 shell 环境通常不会以相同方式注入此类元数据到版本检测管道中。
- 除了 fastfetch,还有其他原因会导致版本检测错误吗?
- 是的。任何在 ~/.zshrc、~/.bash_profile 或 ~/.profile 中无条件执行并输出包含数字版本号字符串的命令都可能导致此问题。请检查是否有类似 `neofetch`, `screenfetch` 或自定义脚本在启动时输出大量文本。
error code is 2503:CC Switch 安装失败遇到 error code 2503 时,改用 NSIS 的 -setup.exe 安装包;该问题线程没有确认此方法有效。点击任意按钮会闪烁一次 CC Switch在 Windows 上将 CC Switch 单独改用 WebView2 152.0.4191.62 Fixed Version,可避免 WebView2 153.0.4234.32 的点击闪烁。"Failed to upload "image.png"" 截图上传失败这不是 cc-switch 的报错,而是 GitHub 截图没传上去留下的占位符;重新上传截图或直接粘贴文字版报错,否则维护者看不到任何信息。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。