別讓 Claude Code 一直問你能不能執行:選 don't ask again、寫 allow 規則、切 acceptEdits 或 auto 模式

Claude Code 總彈「能不能執行」,可以分三層解決:彈窗裏選 don't ask again 存規則,用 allow 規則放行常用命令,或按 Shift+Tab 切到 acceptEdits、auto 模式。本文按場景講,並說明哪些提示官方就是關不掉。

NNathaniel bigo··原創首發·AI 輔助撰寫
12 分鐘讀完
資料核對於 2026-11-05 · 依據官方文檔與公開資料整理 Pro 帳號
本文根據 Claude Code 官方文檔《Configure permissions》《Permission modes》整理,資料核對於 2026-11-05。配圖為本站整理的示意圖,不是介面截圖。本站(bigolab.com)不是 Anthropic 官方網站。

適用於誰

  • 用 Claude Code 時,每運行一條命令、改一個文件都要點一次確認,覺得被打斷的人;
  • 搜過「claude code 設定自動確認」,卻不知道該選哪種模式、哪些風險要自己擔的人;
  • 已經在彈窗裏點了「don't ask again」,下次還是被問的人。

結論先說

  1. 「一直問」是 Manual 模式(配置值 default)的正常表現:這個模式只有讀取文件不用問,改文件、跑命令都要你確認。
  2. 有三層辦法,從穩到猛:①彈窗裏選 Yes, and don't ask again,把常用命令存成規則;②自己寫 permissions.allow 規則,精確放行一類命令;③換權限模式,用 acceptEdits 或 auto 一次性減少彈窗。
  3. 官方在 v2.1.283 及以後,把交互式終端和 VS Code 會話的內置預設模式定為 auto。如果你的版本、帳號或模型不滿足 auto 的條件,就會回到逐條詢問,這是「明明新版本卻還在問」的一個常見原因。
  4. 有些提示關不掉:寫入 .git、.claude、.bashrc 這類受保護路徑,除了 bypassPermissions 之外都不會自動通過。
  5. bypassPermissions 官方只建議用在隔離的容器或虛擬機裏,日常電腦上不要為了「不煩」就開。

Claude Code 總在問時按場景選辦法:存規則、寫 allow、切模式、哪些提示關不掉

圖:本站根據 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。

相關教學

參考資料

  • Claude Code 官方文檔:Configure permissions — https://code.claude.com/docs/en/permissions
  • Claude Code 官方文檔:Permission modes — https://code.claude.com/docs/en/permission-modes

Nathaniel 的更多內容

  1. 01

    Claude Code 支持語音輸入嗎:/voice 開啟,按住空格說話,要 claude.ai 帳號和本地麥克風,支持的聽寫語言有限

    Claude Code 命令行版支持語音輸入(voice dictation):輸入 /voice 開啟,按住空格說話,轉寫文字直接進輸入框。但必須用 claude.ai 帳號登入、有本地麥克風,SSH 和雲端會話不能用;官方的聽寫語言清單裏沒有中文。

    Claude0
  2. 02

    Claude Code 任務完成提醒、提示音、Windows 通知怎麼設:終端響鈴、Notification hook 和 Stop hook 的區別

    Claude Code 做完任務想收到提醒,官方有三條路:在設定裏把 preferredNotifChannel 設為 terminal_bell 讓終端響鈴;用 Notification hook 在它等你輸入或批准時彈窗;用 Stop hook 在每次回覆完畢時執行命令。本文含 Windows 寫法和排查。

    Claude0
  3. 03

    Claude Code 狀態欄怎麼配置:/statusline 一句話生成,顯示模型、上下文佔用和 5 小時 / 7 天用量

    Claude Code 底部狀態欄可以自己定製:用 /statusline 說一句話讓它生成腳本,或在 settings.json 的 statusLine 裏指向自己的腳本。本文講怎麼配、腳本能讀到哪些字段(模型、上下文、花費、訂閱用量)、Windows 寫法和不顯示時的排查。

    Claude0
  4. 04

    Claude Code 提示未登入、怎麼退出登入、切換帳號:/login、/logout、/status 和 CLAUDE_CONFIG_DIR

    Claude Code 提示 Not logged in 時運行 /login;退出登入用 /logout;想同時用兩個帳號,官方的做法是給每個帳號單獨設 CLAUDE_CONFIG_DIR。本文講幾個登入命令、登入憑據存哪、/status 怎麼看當前帳號,以及 API 密鑰覆蓋訂閱的坑。

    Claude0
  5. 05

    Claude Code 安裝卡住、很慢、失敗怎麼辦:先測下載伺服器,再按報錯對照(下載中斷、Killed、PATH、PowerShell)

    Claude Code 安裝卡住或失敗,官方的排查順序是:先測 downloads.claude.ai 能不能連上,再按報錯分類處理。本文整理下載中斷、Linux 內存不足 Killed、Docker 裏卡住、Windows 命令用錯 shell 等情況的官方對策。

    Claude0
  6. 06

    Claude Code 怎麼連接遠程伺服器(SSH):桌面版加 SSH 環境,或登入伺服器後在終端裏直接用

    Claude Code 連遠程伺服器有兩種官方做法:桌面版 Code 標籤頁裏添加 SSH 環境,桌面版會自動在伺服器上裝好 Claude Code;或者自己 SSH 登入伺服器,在終端裏安裝並登入。本文講兩種做法的步驟、伺服器要求和常見報錯。

    Claude0

同產品的其他教學

  1. 01

    Claude Code 歷史記錄在哪、文件夾在哪:~/.claude 裏每個文件是什麼,哪些 30 天后會被清掉,哪些不能刪

    Claude Code 的會話記錄、提示歷史、配置和登入憑據都在用戶目錄下的 .claude 文件夾(Windows 是 %USERPROFILE%\.claude)。本文按官方文檔列出各文件的用途、預設保留期、哪些不能刪,以及怎麼清理、怎麼換位置。

    Claude0
  2. 02

    Claude Code 怎麼導出會話、導出上下文:/export、/copy 和 .jsonl 會話記錄的區別

    Claude Code 導出對話用 /export(純文本,可直接寫入文件),只要最後一條回答用 /copy。本文講兩個命令的區別、會話記錄 .jsonl 在哪、腳本怎麼拿結構化結果,以及「導出上下文」換新會話時官方給的做法。

    Claude0
  3. 03

    Claude Code 代碼改壞了怎麼回退:/rewind 或連按兩次 Esc,三種恢復方式,哪些改動回退不了

    Claude Code 改壞了代碼,可以輸入 /rewind(別名 /undo),或在輸入框為空時連按兩次 Esc,選擇只恢復代碼、只回退對話或兩者一起。本文講選單裏每一項的含義,以及 Bash 命令、子代理、外部改動為什麼回退不了。

    Claude0
  4. 04

    Claude Code 官網下載在哪、怎麼安裝:原生安裝、npm、Homebrew、WinGet 怎麼選,Windows 要不要裝 Git

    搜「Claude Code 官網下載」「為什麼要裝 Git」「為什麼不推薦 npm」,官方文檔的答案是:安裝說明在 code.claude.com,原生安裝標為推薦,npm 要 Node.js 22,Windows 的 Git 是可選的。本文按官方文檔逐項說明。

    Claude0
  5. 05

    Claude Code 無法粘貼、無法讀取圖片怎麼辦:Ctrl+V 和 Alt+V 的區別,拖放和路徑三种放圖方法

    Claude Code 裏粘貼不了截圖、讀不到圖片?官方文檔給了三種把圖放進對話的方法:拖放進窗口、Ctrl+V 粘貼(Windows 和 WSL 用 Alt+V)、直接寫圖片路徑。官方沒有為「粘貼失敗」單列排查,本文把官方寫明的做法和通用排查分開講。

    Claude0
  6. 06

    Claude 報錯 529 overloaded_error 怎麼辦:API 暫時過載是什麼意思,和 429、500、504 怎麼區分

    Claude API 返回 529 overloaded_error,官方的解釋是 API 暫時過載,全體用戶高峰時都可能遇到,不是你的 Key 或餘額出了問題。本文按官方錯誤頁(2026-10 查詢)講清它和 429、500、504 的區別、SDK 怎麼自動重試、流式請求中途報錯怎麼處理。

    Claude0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~