上周五下午,我正用Claude Code重构一个老项目,一切看起来都很美好------直到我加了一个新的MCP服务器。
然后Claude Code启动就崩。
不是那种"报错、还能用"的崩,是直接卡在启动界面、进程僵死、连Ctrl+C都按不动的那种。我开始疯狂排查:删MCP配置、改权限设置、翻issue区......折腾了两个小时,代码一个字没写。
最后怎么解决的?重装了Claude Code。
当时我就在想,如果有个"干净启动"模式就好了。结果这周一早上,Claude Code v2.1.169发布了------Safe Mode,禁用所有自定义配置,一行命令回到最初始状态。
我: ??? 为啥不早点出这功能。
这篇文章就聊聊Safe Mode和/cd这两个新功能,以及它们怎么治好了我的"配置焦虑症"。
Safe Mode:配置出问题时,先跑个干净版本
说白了,Safe Mode就是Claude Code的"安全模式"。执行claude --safe-mode,所有你加的东西全部禁用:
- CLAUDE.md
- skills(自定义技能)
- plugins(插件)
- hooks(钩子)
- MCP servers(MCP服务器)
- custom commands(自定义命令)
- agents、workflows、themes......
一句话:回到最原始的Claude Code。
什么时候用?
我总结了三个典型场景:
1. 启动就崩,怀疑是某个配置搞的鬼
我之前遇到的MCP服务器问题就是这个情况。正常启动崩,Safe Mode能起来------说明问题在我自己加的东西上。然后我一个个加回去排查,比之前删配置方便多了。
ini
# 干净启动,什么都不加载
claude --safe-mode
# 或者用环境变量(CI环境、wrapper脚本里用这个)
CLAUDE_CODE_SAFE_MODE=1 claude
2. Claude行为奇怪,但不确定是CLI还是配置的问题
比如你自定义的hook触发了不该触发的情况,或者某个skill劫持了slash命令------这种"说不清是谁的问题"最烦。Safe Mode能快速定位。
3. 想验证新功能,但不确定是不是和现有配置冲突
有时候新功能报错,不一定是功能本身的问题,可能是你的配置和它"八字不合"。Safe Mode帮你隔离问题。
我的实测
我测试了一下Safe Mode确实禁用了所有东西:
python
$ claude --help | grep -A 20 "safe-mode"
--safe-mode Start with all user customizations disabled (except model selection and auth).
Disables: CLAUDE.md, skills, plugins, hooks, MCP servers, custom commands,
agents, workflows, themes, keybindings.
See: https://docs.anthropic.com/en/docs/claude-code/safe-mode
官方文档说"禁用了什么"写得清清楚楚。不过这里有个小细节------模型选择和认证还是正常工作的,不会让你在Safe Mode里连不上API。
和之前的workaround比
在Safe Mode出来之前,遇到配置问题怎么办?
- 手动把CLAUDE.md挪走
- 注释掉settings.json里的hooks
- 一个一个禁用MCP服务器
三步操作,每步都可能误删正常配置。现在?一行命令搞定。
/cd命令:切换目录不丢上下文
这个功能看起来小,但对我来说使用频率很高。
以前用Claude Code干活,中途想切到另一个目录查看代码,只能:
- 重新开一个会话(上下文全丢)
- 在对话里说"cd到xxx目录"(有时候Claude记不住)
现在直接敲/cd /path/to/directory,工作目录切了,但prompt缓存还在------意味着上下文不重置,之前的对话历史、已读取的文件都还在。
典型使用场景
shell
# 在主项目目录干活
$ claude
> 帮我看看这个模块的代码结构
[Claude分析了代码结构]
# 想看看隔壁项目的配置
> /cd ../other-project
[工作目录切到other-project,但上下文还在]
> 看看这个项目的依赖配置
这对大型项目特别有用------monorepo里经常需要在多个子项目之间跳来跳去。
一个小限制
不过文档里提到,如果是复杂的multi-repo场景,为了安全起见还是建议开独立会话。所以/cd适合"临时看一眼"这种轻量切换,重构或者大改还是老老实实开新会话。
这两个功能怎么配合用
说个我今天遇到的真实场景:
我想在一个新目录里测试我刚写的MCP服务器扩展,但不确定是不是会触发之前的启动崩溃问题。
-
先Safe Mode启动,验证基础功能正常
cssclaude --safe-mode -
在新目录用/cd切换
bash/cd ~/my-mcp-extension -
正常干活,配置问题不会被带进来
如果是以前,我得先备份所有配置、禁用所有MCP、然后再测试------现在两步搞定。
写在最后
Claude Code这波更新,Safe Mode和/cd单独拎出来都不是什么"史诗级"功能,但它们解决的是真实痛点:配置排查的时间成本 和目录切换的上下文丢失。
尤其是Safe Mode------我在它发布前两天刚因为MCP配置问题重装了Claude Code。如果当时有这个功能,我那两小时折腾可能十分钟就定位到问题了。
工具类的东西就是这样,"稳"比"炫"重要。能让你少折腾、多写代码的功能,才是真正的好功能。