本文根據 Claude Code 官方《Configure permissions》、設定參考和 changelog 整理,資料核對於 2026-11-05。配圖為本站整理的示意圖,不是介面截圖。本站(bigolab.com)不是 Anthropic 官方網站。
適用於誰
- 用 Claude Code 時擔心它把文件寫到項目之外(比如你的主目錄或別的項目)的人;
- 在
bypassPermissions模式下跑自動化、想加一道保險的人; - 管理團隊配置,想在設定文件裏統一限制的人。
結論先說
- 是什麼:
permissions.blockWritesOutsideWorkingDirectories,設為true後,Write、Edit、NotebookEdit三個文件工具在所有權限模式下(包括bypassPermissions)都拒絕寫工作目錄之外的路徑。 - 例外:Claude Code 自己的一些文件,例如計劃文件。
- 不管什麼:官方明說這個鍵不限制 Shell 命令、MCP 工具和 hook 運行的程序,要限制 Shell 往哪寫,得用沙箱(sandboxing)。
- 版本:需要 Claude Code v2.1.314(2026-10-30)或更高。
- 姐妹鍵:
permissions.blockReadsOutsideWorkingDirectories管讀,一樣在所有模式下生效。

圖:本站根據 Claude Code 官方《Configure permissions》 整理的示意圖
一、先弄清「工作目錄」
官方說明:預設情況下,Claude 能訪問你啟動它時所在目錄裏的文件;這個目錄是會話的主工作目錄,直到你用 /cd 把會話移到別處。擴展訪問範圍有三種方式:
- 啟動時:命令行參數
--add-dir <路徑>; - 會話中:
/add-dir命令; - 持久配置:在設定文件裏寫
additionalDirectories。
添加的目錄,其文件遵循和原目錄一樣的權限規則:讀取不再詢問(網絡路徑除外),編輯權限則看當前權限模式。大倉庫裏怎麼搭配這些設定,見 /guides/claude-code-large-repo-focus-directories。
二、怎麼打開
在 .claude/settings.json(項目共享)、.claude/settings.local.json(僅自己)或用戶設定裏,把鍵設為 true。下面的寫法是本站按官方鍵名寫的示意:
json
{
"permissions": {
"blockWritesOutsideWorkingDirectories": true
}
}
要同時限制讀取,再加上 "blockReadsOutsideWorkingDirectories": true。官方還提到,在自動(auto)模式下,Claude 第一次讀取工作目錄之外的內容時,Claude Code 會主動提示你打開讀取那個鍵。設定文件的層級與位置見 /guides/claude-code-settings-json。

圖:本站根據 Claude Code 官方《Configure permissions》 整理的示意圖
三、它和普通權限提示有什麼不同
普通情況下,寫文件會彈出權限提示,你可以點允許。而在 bypassPermissions 這類跳過提示的模式裏,這些提示根本不出現,Claude 想寫哪裏都行。這個鍵的意義是:不依賴你點不點同意,而是直接讓文件工具拒絕,所以連 bypassPermissions 也繞不過。權限模式的區別見 /guides/claude-code-permission-modes。
四、需要寫到外面怎麼辦
如果確實有一個外部目錄需要寫(例如另一個包、共享配置目錄),官方的思路是把它「加為工作目錄」,也就是上面第一節的三種方式之一,這樣它就不再算「外部」。官方設定參考頁對此有專門的一節(Let one directory through the read or write block),具體寫法請直接看那一節。
五、一定要知道的盲區
官方明確寫了:這個鍵只管 Write、Edit、NotebookEdit。如果 Claude 用 Bash 執行 echo x > ~/somewhere 或者 cp,或者通過 MCP 工具、hook 腳本寫文件,它不會被攔。要限制 Shell 命令的寫入位置,官方建議使用沙箱(sandboxing)。所以安全配置要分層:文件工具用這個鍵,Shell 用沙箱,再加上 permissions.deny 規則對具體命令和路徑做限制。
常見問題
Q:設定了但 Claude 還是寫到外面了?
先看它是不是用 Bash 寫的,這個鍵不管 Shell。其次確認版本不低於 v2.1.314。
Q:它能代替權限提示嗎?
不能,它只是額外的硬性邊界。日常權限提示和模式仍然照常工作。
Q:團隊怎麼統一?
放在項目共享的 .claude/settings.json 裏提交,或者用組織的託管設定。額度較緊或團隊規模變大的話,可了解 Claude Code 訂閱方案。
參考資料
- Claude Code 官方:Configure permissions — https://code.claude.com/docs/en/permissions
- Claude Code 官方:Settings reference — https://code.claude.com/docs/en/settings-reference
- Claude Code 官方:Changelog(2.1.314)— https://code.claude.com/docs/en/changelog
0 條評論
還沒有評論,來搶沙發~