本文根據 Claude Code 官方文檔《Configure permissions》《Permission modes》整理,資料核對於 2026-11-05。配圖為本站整理的示意圖,不是介面截圖。本站(bigolab.com)不是 Anthropic 官方網站。
適用於誰
- 用 Claude Code 時,每運行一條命令、改一個文件都要點一次確認,覺得被打斷的人;
- 搜過「claude code 設定自動確認」,卻不知道該選哪種模式、哪些風險要自己擔的人;
- 已經在彈窗裏點了「don't ask again」,下次還是被問的人。
結論先說
- 「一直問」是 Manual 模式(配置值
default)的正常表現:這個模式只有讀取文件不用問,改文件、跑命令都要你確認。 - 有三層辦法,從穩到猛:①彈窗裏選 Yes, and don't ask again,把常用命令存成規則;②自己寫
permissions.allow規則,精確放行一類命令;③換權限模式,用acceptEdits或auto一次性減少彈窗。 - 官方在 v2.1.283 及以後,把交互式終端和 VS Code 會話的內置預設模式定為
auto。如果你的版本、帳號或模型不滿足 auto 的條件,就會回到逐條詢問,這是「明明新版本卻還在問」的一個常見原因。 - 有些提示關不掉:寫入
.git、.claude、.bashrc這類受保護路徑,除了bypassPermissions之外都不會自動通過。 bypassPermissions官方只建議用在隔離的容器或虛擬機裏,日常電腦上不要為了「不煩」就開。

圖:本站根據 Claude Code 官方文檔:Configure permissions 與 Permission modes 整理的示意圖
一、先看一眼:你現在在哪種模式
官方的六種模式(配置值)是 default、acceptEdits、plan、auto、dontAsk、bypassPermissions。區別只有一個:哪些操作不用問你。

圖:本站根據 Claude Code 官方文檔:Permission modes 整理的示意圖
終端裏按 Shift+Tab 在模式之間切換。官方寫明:從 auto 按一次到 default,之後依次是 default → acceptEdits → plan;auto 和 bypassPermissions 只有在已啟用時才出現在循環裏;dontAsk 不在循環裏,只能啟動時設定。各模式的完整說明見 /guides/claude-code-permission-modes,快捷鍵清單見 /guides/claude-code-keyboard-shortcuts。
會話啟動時用哪個模式,官方的優先級是:--permission-mode 參數(或 --dangerously-skip-permissions)、其次是設定文件裏的 permissions.defaultMode、最後才是內置預設。注意官方特別說明:寫在項目的 .claude/settings.json 或 .claude/settings.local.json 裏的 "auto" 與 "bypassPermissions" 不會生效,要放在用戶級設定等位置。
二、辦法一:彈窗裏選 don't ask again
Bash 命令的權限彈窗,官方示例裏有這幾個選項:Yes、Yes, and don't ask again for: npm test \*、(部分情況下有)Yes, and switch to auto mode、No。
選「don't ask again」之後,儲存的位置和時長因工具而異,官方的表格是這樣寫的:
| 工具 | 「don't ask again」的效果 |
|---|---|
| Bash 命令 | 永久,按倉庫和命令儲存 |
| 文件修改(Edit / Write) | 到本次會話結束 |
| WebFetch | 永久,按倉庫和域名儲存 |
| WebSearch | 永久,按倉庫儲存 |
永久儲存的規則會寫進 git 倉庫根目錄的 .claude/settings.local.json,之後在這個倉庫裏的任何子目錄和 worktree 裏開會話都生效。
兩點提醒:
- 有的彈窗只有一次性批准,沒有「don't ask again」。官方說,這是因為彈窗說不清楚「永久放行」會覆蓋什麼,此時可以批准一次,或者去
/permissions自己加規則; - 批准一條複合命令(比如
git status && npm test)時,Claude Code 會對每個需要批准的子命令分別存規則,而不是存整條字符串。
三、辦法二:自己寫 allow 規則
/permissions 會打開規則管理介面,列出所有規則和它們來自哪個 settings.json。你也可以直接在設定文件裏寫,官方示例:
json
{
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(git commit *)"
],
"deny": [
"Bash(git push *)"
]
}
}
寫規則要注意官方強調的幾件事:
- **
要放在子命令之後*。Bash(git log )只放行git log,Bash(git )則放行所有 git 命令; - **
前面的空格是規則的一部分*:Bash(ls )不會匹配lsof,Bash(ls)會; - 規則按 deny → ask → allow 的順序判斷,第一個命中的生效,allow 沒法給 deny 開例外;
- 複合命令要每個子命令都被放行才免問,
Bash(safe-cmd *)不會放行safe-cmd && other-cmd,識別的分隔符包括&&、||、;、|、|&、&和換行; - 官方明確說 Bash 規則不是安全邊界:
Bash(git push *)攔得住git push origin main,攔不住git -C . push origin main這種寫法。需要硬隔離時用沙箱或 PreToolUse hook。
項目裏的 permissions.allow 要等你在該文件夾接受「工作區信任」對話框之後才會生效。設定文件的位置與優先級見 /guides/claude-code-settings-json。
四、辦法三:換模式
acceptEdits:官方寫的是,讀取、改文件,以及工作目錄內的 mkdir、touch、mv、cp、rm、rmdir、sed 自動通過,其他命令仍會問。適合你在邊看邊改代碼、對改動有把握的時候。
auto:所有動作自動通過,由後台的分類器審查每個動作。官方說它會預設攔截強制推送、生產環境部署、雲存儲上的批量刪除之類的動作,同時強調 auto 減少提示但不保證安全。官方列出的條件包括:團隊版和企業版預設開啟,管理員可以關;模型方面,走 Anthropic API 時需要 Claude Opus 4.6 或更新、Sonnet 4.6 或更新、Haiku 5.5 或 Fable 系列模型。模型能不能用取決於你的訂閱或 API 開通情況,訂閱的比較見 /guides/claude-code-pro-max-or-api,需要訂閱可以看 /chongzhi/claude-code。
bypassPermissions:關掉權限提示和安全檢查。官方的限定寫得很清楚:
- 只在隔離環境裏用,例如沒有聯網的容器、虛擬機或 dev container;
- deny 規則仍然生效,顯式的
ask規則和被識別為關鍵路徑的rm -rf仍會提示; - 不能在沒有以此模式啟動的會話裏中途切入,要在啟動時用
--permission-mode bypassPermissions或--dangerously-skip-permissions; - Linux 和 macOS 上以 root 或
sudo運行時,Claude Code 會拒絕啟動。
五、改了還是在問,先查這幾處
- 當前模式是不是
default?按 Shift+Tab 看底部狀態顯示; - 彈窗是不是對受保護路徑的寫入(
.git、.claude、.bashrc)?這類提示官方就不讓自動通過; - 你的 allow 規則末尾有沒有帶
?不帶只匹配一整條確切命令,參數一變就不匹配; - 命令是不是複合命令,其中某個子命令沒被放行?
- 規則寫在項目
.claude/settings.json裏,但沒接受工作區信任?
常見問題
Q:「設定自動確認」有沒有一個開關?
官方文檔裏沒有出現單獨的「全部確認」開關,做法是選擇權限模式,或者用規則精確放行。
Q:彈窗點了「don't ask again」,規則在哪看、怎麼撤?
在 /permissions 裏能看到並刪除;Bash 的永久規則存在倉庫根目錄的 .claude/settings.local.json。
Q:auto 模式和 bypassPermissions 有什麼區別?
auto 還有一個分類器在後台審查,會攔截危險動作;bypassPermissions 則幾乎什麼都不攔。
Q:會不會不小心放行 rm -rf?
acceptEdits 會自動通過工作目錄內的 rm,所以別在重要目錄裏盲目開它。不想讓 Claude 碰的命令可以寫進 deny 規則,改動前最好先有 git 提交,萬一改壞了的回退辦法見 /guides/claude-code-rewind-checkpoints-undo。
相關教學
- /guides/claude-code-permission-modes:六種模式的完整對照
- /guides/claude-code-hooks:用 Hook 自己寫攔截邏輯
- /guides/ai-coding-security-secrets-permissions:密鑰與權限的安全注意事項
參考資料
- Claude Code 官方文檔:Configure permissions — https://code.claude.com/docs/en/permissions
- Claude Code 官方文檔:Permission modes — https://code.claude.com/docs/en/permission-modes
0 條評論
還沒有評論,來搶沙發~