← 全部貼文

Day 106Claude Code 有個設定叫 blockWritesOutsideWorkingDirectories

叫 Claude 只准改你打開的資料夾裡的檔案 它想改資料夾外面的檔案 會被直接擋下 連不用問你的全部放行模式也一樣
Day 106 第 1 張Day 106 第 2 張Day 106 第 3 張Day 106 第 4 張
1 / 4
在專案的 .claude/settings.json 加上:
{
  "permissions": {
    "blockWritesOutsideWorkingDirectories": true
  }
}

加好之後 跟 Claude 說:
用 Write 工具建立檔案 ../outside.txt,內容寫 hello。然後用 ls .. 列出上一層。回覆格式:先把 ls 的結果原樣貼出,最後一行寫 成功 或 失敗加原因。不要寫別的。

在 Threads 看原文

這是什麼

blockWritesOutsideWorkingDirectories 是 Claude Code 的設定。
貼文說:它讓 Claude 只准改你打開的資料夾裡的檔案。
Claude 想改資料夾外面的檔案,會被直接擋下。
連不用問你的全部放行模式也一樣。

怎麼設

  1. 打開專案裡的 .claude/settings.json。
  2. 在 permissions 底下加 blockWritesOutsideWorkingDirectories。
  3. 值填 true,設定就生效。

這個設定只管 Write、Edit、NotebookEdit 三個工具。

怎麼測

  1. 加好設定。
  2. 請 Claude 用 Write 工具建立 ../outside.txt,內容寫 hello。
  3. 再請它用 ls .. 列出上一層。

作者用全部放行模式測,結果:

  • 沒設:上一層多了 outside.txt,Claude 回成功。
  • 設了之後:上一層只有 proj,Claude 回失敗。
  • 失敗原因:Write 被設定擋下,因為 outside.txt 在工作目錄之外。
  • 檔案沒有建立。