如果你的公司最近上了移动设备管理(MDM),网络团队又把Claude API流量塞进某个AI网关,那你可能早就发现了:Claude Code启动时自动加载了一堆你没选的MCP,你的提示词正被转发到某个你没审过的地址。输入/mcpcode>显示三个服务器,你的仓库根本没调用过;env | grep ANTHROPIC返回一个从没见过的域名。体验变差了,但没人问过你。

这篇讲怎么解开这两条 leash。MDM那条12行zsh就能解决。AI网关那条要看网络团队埋得多深。

打开网易新闻 查看精彩图片

MDM全称Mobile Device Management。Jamf、Kandji、Intune、Workspace ONE, whichever agent在你入职第一天就注册了你的笔记本。它拥有/Library的部分权限,能以root身份写入文件并设置system-immutable标志,还能定时重新推送。这就是普通rm删不掉的原因。

打开网易新闻 查看精彩图片

对Claude Code来说,关键目录是/Library/Application Support/ClaudeCode/。里面两个文件干活:managed-settings.jsonmanaged-mcp.json。Claude Code启动时读取它们,当作最高优先级配置层,覆盖你~/.claude/settings.json里的任何设置。IT放进去的东西全赢:强制的MCP、强制的skills、允许和拒绝的权限列表,还有能设置ANTHROPIC_BASE_URLenv块。最后这个就是AI网关路由怎么埋进Claude Code的。

第一反应通常是sudo rm,但会失败:Operation not permitted。root不够。MDM agent写入后用chflags schg设置了系统不可变标志。这个标志会阻止删除,连root也不行,必须先清除。macOS的chflags(1)手册页写得很清楚:schg是"system immutable",文件"may not be changed, moved, or deleted"。

自己机器上确认:ls -lO "/Library/Application Support/ClaudeCode/managed-settings.json"。第五列的schg就是标记。

打开网易新闻 查看精彩图片

关键细节:managed-settings.json~/.claude/settings.json用的是同一层配置逻辑。IT的版本只是住在/Library、归root所有、带schg标志。合并逻辑分不清文件是人写的还是机器推的。

运行清理脚本前注意一点。在macOS上,schg标志通常能被root清除——只要不在SIP保护路径里。/Library/Application Support/ClaudeCode/不在SIP保护范围内,所以sudo chflags noschg按原文写的能工作。如果你的MDM把配置写进SIP保护位置(应用配置很少这么干),那就需要恢复模式或禁用SIP,不在本文范围。