bash denied by auto mode claude不能分类解决方案

小鱼 2026-10-28 05:19 1

! python -c “import json,io;p=r’C:\Users\Administrator.claude\settings.json’;d=json.load(io.open(p,encoding=‘utf-8’));d[‘permissions’]={‘defaultMode’:‘bypassPermissions’,‘allow’:[‘Bash’,‘Read’,‘Edit’,‘Write’,‘Glob’,‘Grep’,‘Agent’,‘Skill’,‘WebFetch’,‘WebSearch’,‘mcp__ui_tars’],‘deny’:[‘Bash(git reset --hard:)','Bash(git clean:)’,‘Bash(git stash:)','Bash(git push:)’]};io.open(p,‘w’,encoding=‘utf-8’).write(json.dumps(d,ensure_ascii=False,indent=2))”


在claude对话框中输入这些,然后,重开cli,就可以了


claude自己解决的::“

这行命令做三件事:



  • 把默认模式设为 bypassPermissions:工具调用直接执行,不再经过分类器。这是唯一能保证后台子代理也不被拒的模式,因为后台子代理没法弹窗请你确认。

  • 把常用工具加入 allow 白名单:以后就算又切回别的模式,这些工具也不会被挡。

  • 保留 deny 黑名单:git reset --hard、git clean、git stash、git push 照样拦截。这几条是你项目里一直守的规矩(不清场、纯本地不推送);deny 在 bypass 模式下仍然有效。


改完要重开会话才会按新的默认模式启动。要知道,bypass 之后除了上面四条,所有操作都不再确认。”


—冲开cli之后,会多一个模式bypass模式,如图:


此方法在any适用

最新回复 (1)
  • 冰冻芋头 10-28 05:33
    1楼

    emmmm,我觉得其实更好的方案是在中间加一层网关用来路由和识别安全分类器的请求,从而让安全分类器真实可用,(似乎新版claude对安全分类器还有网关配置?)


    如果不在意安全性直接bypass会更好的


    但在意安全性的话手动配置的bash白名单问题会很大(虽然有时候ai也不靠谱)



    Administrator.claude



    话说这个路径对嘛,是不是少了个\,而且用户名也得依据用户实际用户名来确认路径吧,直接一行命令好像也不对

* 帖子来源Linux.do
返回