188LDC求解决ccswitch默认终端配置问题

ygtt2.0 2026-07-13 14:02 1

目前我的电脑出现一个问题:


我在使用 CC-Switch 这个工具时,点击配置旁边的“在终端中打开”按钮,正常情况下,应该会在我设置的默认启动方式(即 Windows Terminal)中,打开一个带有该配置的 Claude Code 窗口。


这个功能可以让我在不同终端打开不同的配置,让不同模型干不同的活,很好用。



我的 Windows Terminal 默认设置是打开 PowerShell 7,平时直接运行 Windows Terminal 确实也是 PowerShell 7。



但奇怪的是,当我点击 CC-Switch 的那个按钮时,它会弹出来在 Windows Terminal 里面打开的 CMD 窗口。CMD 窗口里面显示的,才是我期望在 Windows Terminal 的 pwsh 窗口里面显示的内容,就是Claude code的启动页面。



CC-Switch 应该是通过一个命令,然后读取配置的脚本文件所在的地方来进行工作的。但是它在启动的时候,我怀疑是在启动 PowerShell 的时候遇到了一些问题(但我尚不清楚具体是什么问题)才会回退到 CMD 来运行,因为我设置过了WT打开默认用pwsh7,也设置了ccswitch默认调用WT。



ccswitch内部一共三种选项:


用cmd,用powershell,用WindowsTerminal。此前,我不论选其中的任何一个,都是使用Windowsterminal打开的cmd(黑色标志)、powershell5(蓝色标志)、powershell7(蓝黑标志),【都在WindowsTerminal里面】


但是这两天,在我安装ohmyposh等一系列终端优化软件以后(不知道是不是这个原因),我用ccswitch的这几种模式打开的时候,我的两台笔记本都出现了问题:




  • cmd方式打开的是古老的黑底的独立窗口,不走WindowsTerminal





  • powershell方式打开的是古老的powershell窗口,不走WindowsTerminal





  • 只有选择用WindowsTerminal打开的时候会走WT,但是没走我设置的默认选项“pwsh7“而是回退回了cmd(在WT里的cmd)图在上面




这是怎么回事呢?我尝试让ClaudeCode自己判断无果,大家有什么思路么?可以从什么方向排查呢?

最新回复 (16)
  • sunfly 07-13 14:30
    1

    让 cc 改 Windows 的全局环境变量或者注册表

  • saul 07-13 14:43
    2

    emmm,这应该是你装美化终端插件什么的改了默认终端,不要选控制台主机就行

  • mengmengmeng 07-13 14:44
    3

    给你推荐一个管理工具,也是站里大佬推荐的,你可以检索下,cli-manager 我觉得非常nice好用

  • mengmengmeng 07-13 14:45
    4

    @dark_wwt 这位大佬开发的,给大佬吹爆的好用

  • 黑猩猩 07-13 14:47
    5




    一键切换供应商、自定义终端、自动打开worktree,token实时统计,会话历史解析等等~

    【开源自荐】Cli-Manager-多项目cli管理增强工具 - 搞七捻三 - LINUX DO


    感谢楼上佬的推荐

  • 柳梢絮飘 07-13 14:50
    6

    请问佬,如果是远程ssh连接主机的话这个有帮助吗

  • 黑猩猩 07-13 14:54
    7

    远程暂时没有,目前只是终端,之前也有佬在问,有考虑过,如果实现远程可能需要在对应远程按照探针采集数据,这样感觉 好多用户不会接受的,不能采集一下数据的话,clim就失去了优点,毕竟不是一个ssh工具,所以没有对这方面做处理

  • 柳梢絮飘 07-13 14:58
    8

    行,拿我回家研究一下,因为在公司开发是在服务器上暂时没办法用,现在是右边vscode左边用powershell直接连接ssh,文件传递直接用vscode来 ^-^

  • Brantfang 07-13 14:59
    9

    默认终端可以从 windows 系统设置里改变。至于启动 cmd 窗口运行 powershell ,应该是 ohmyposh 使用 cmd 窗口调用 powershell 再拉起 cc 吧。应该是在 powershell 中,试试 !ls 能否正常运行。

  • 黑猩猩 07-13 14:59
    10

    如果用powershell试用ssh命令的话,那cli-manager能帮你实现的就是 不用你每次都输入ssh命令 ^-^

  • saul 07-13 14:59
    11

    他实际上的问题是因为那些插件改变了他的默认终端,也就是开powershell他也不会走wt。

    不过我哥们也捣鼓了一个,感觉没你这个好看阿

  • 黑猩猩 07-13 15:01
    12

    也给楼主一个思路,让cc去拉一下ccs的代码,通过代码去找一下 ccs是怎么选择终端的

  • ygtt2.0 楼主 07-13 15:09
    13

    是Windows终端没错

  • ygtt2.0 楼主 07-13 15:11
    14

    默认终端在Windows设置里面也是这样,cmd启动运行的就是cmd的窗口,不是powershell ^-^

  • Linus Torvalds 07-13 18:28
    15

    有个前提是,ccs使用powershell方式打开后,至少要能自动打开windor terminal+powershell,我看你好像ccs打开终端,都是古早味的,这个估计要让cc修复一下,其实下面的解决方法把源码和issur甩给cc也可以解决


    ccs的bug,5月有人提PR了,但没合并,修复脚本能用,但感觉不好




    分析了一下源码,是个ccs的bug,issue #2830、PR #2831



    不改源码的情况下,wt + pwsh(7),ccs选powershell,通过脚本实现powershell.exe 5.1 → pwsh.exe 7 → claude.exe



    正常点打开终端,虽然tab页显示的ps5,但其实是ps5先切到pwsh7,然后再启动cc




    安装


    powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File .\Install-CCSwitch-PowerShell7-Bridge.ps1

    卸载


    powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File .\Install-CCSwitch-PowerShell7-Bridge.ps1 -Uninstall

    fix.zip (8.5 KB)

  • ygtt2.0 楼主 07-14 09:25
    16

    谢谢佬,佬的解决方案很详细!不过我找到问题了,您说的解决方案解决的是设置powershell打开只能打开powershell5的问题。我昨晚用5.6sol排查发现是我因为想省事,所以有的时候用 Cloud Code 改代码时,会出现一些管理员权限问题。


    为了给从 CC-Switch 里面打开的 Cloud Code 终端提权,我就设置了让 CC-Switch 默认以管理员模式打开。


    在管理员模式下,如果它去调用普通的 Windows Terminal,就会因为权限不够而回退到旧版本的控制台。


* 帖子来源Linux.do
返回