问个Claude Code的问题,mac上Bash工具卡住没输出

Claude Code(cc)在mac上调用Bash工具老是卡住,有没有人碰到过?

具体啥情况:

  • Read工具没事:用起来很快,结果也正常
  • Bash工具经常卡:一直转圈running,就是不输出
    • tmux -V这种简单的命令,在cc里也卡住
  • iTerm2里用cc的Bash工具这样
  • VS Code集成终端里cc调Bash也这样
  • 尤其是同时跑好几个Bash的时候更容易卡

对比了下:

  • 我自己手动开Terminal,执行同样的命令(比如tmux -V是快的,没问题
  • 所以卡只发生在cc调Bash工具的时候

最近改过啥:

  • 刚升级了:
    • Claude Code
    • tmux
    • iTerm2
    • oh-my-zsh(最新版)
  • 升级前还好好的,就这两天开始出问题

环境:

  • macOS
  • oh-my-zsh
  • ~/.zshrc里有:
    • conda自动初始化
    • nvm自动初始化

现在怀疑:

  • oh-my-zsh升级后,shell初始化逻辑变了
  • conda/nvm在非交互式shell里初始化变慢或者卡住了
  • cc调Bash时的shell类型(非交互式)和我手动开Terminal的环境不一样,导致卡住

想问下:

  • 有没有人也遇到cc + zsh + conda/nvm导致Bash卡住的问题?
  • 一般从哪儿开始查?(比如关掉某些zsh插件、拆开zshrc看看)

这东西就那样,shell环境越复杂越容易挂。

小白问一下,是不是因为conda初始化的问题啊?我看别人说conda在非交互式shell里会慢很多,但我不太确定是不是这个原因…

又来这种帖子了,mac上啥工具不是升级完就一堆破事,建议回滚版本保平安。

Mark,我好像也遇到过类似情况,蹲一个解决方案。

我碰到过几乎一模一样的情况,不过我用的是fish shell。也是Claude Code里调用外部命令会卡住,尤其是带环境初始化的。后来我把shell配置文件里所有非必要的初始化都加了if [[ -n "$PS1" ]]判断,只在交互式shell里加载,问题就解决了。你可以试试在.zshrc里conda和nvm那两块前面加个条件判断,应该能缓解。

你提到“尤其是同时跑好几个Bash的时候更容易卡”,这个具体是怎么操作的?是在同一个cc会话里连续触发多个Bash工具调用,还是在不同文件/不同cc实例里同时调用的?卡住之后是永远不返回,还是等特别久(比如几分钟)最后可能有超时错误?