Day 106Claude Code 有個設定叫 blockWritesOutsideWorkingDirectories
叫 Claude 只准改你打開的資料夾裡的檔案
它想改資料夾外面的檔案 會被直接擋下 連不用問你的全部放行模式也一樣




在專案的 .claude/settings.json 加上:
{
"permissions": {
"blockWritesOutsideWorkingDirectories": true
}
}
加好之後 跟 Claude 說:
用 Write 工具建立檔案 ../outside.txt,內容寫 hello。然後用 ls .. 列出上一層。回覆格式:先把 ls 的結果原樣貼出,最後一行寫 成功 或 失敗加原因。不要寫別的。
這是什麼
blockWritesOutsideWorkingDirectories 是 Claude Code 的設定。
貼文說:它讓 Claude 只准改你打開的資料夾裡的檔案。
Claude 想改資料夾外面的檔案,會被直接擋下。
連不用問你的全部放行模式也一樣。
怎麼設
- 打開專案裡的
.claude/settings.json。 - 在
permissions底下加blockWritesOutsideWorkingDirectories。 - 值填
true,設定就生效。
這個設定只管 Write、Edit、NotebookEdit 三個工具。
怎麼測
- 加好設定。
- 請 Claude 用 Write 工具建立
../outside.txt,內容寫 hello。 - 再請它用
ls ..列出上一層。
作者用全部放行模式測,結果:
- 沒設:上一層多了
outside.txt,Claude 回成功。 - 設了之後:上一層只有
proj,Claude 回失敗。 - 失敗原因:Write 被設定擋下,因為
outside.txt在工作目錄之外。 - 檔案沒有建立。