觀點 · 資訊分享
Claude Code 2.1.207:自動模式不再讀專案內的設定,外掛指令也補上命令注入防護
Claude Code 2.1.207 收緊了幾處信任範圍:自動模式不再讀專案資料夾裡的設定檔,外掛選項只認使用者層級,外掛指令也擋下可能的命令注入。Bedrock、Vertex 的預設模型同時改成 Claude Opus 4.8。
- 發布
- 2026-07-12
- 篇幅
- 約 4 分鐘 · 1,900 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:Claude Code 2.1.207 把「專案資料夾裡的檔案能影響什麼」收緊了一圈:自動模式、外掛選項都不再信任專案內的設定,外掛的指令也補上命令注入防護。

先用白話講:為什麼專案內的設定不能全信?
想像你接手一間別人留下來的辦公室,抽屜裡有一張紙條寫著:「新來的人,以後做什麼都不用問主管,直接做。」你會直接照辦嗎?應該不會,因為紙條可能是任何人放的。
AI 寫程式工具也有類似的問題。你從網路上複製一個專案下來,裡面可能附帶了設定檔。如果工具無條件相信「專案裡的設定」,那麼設定檔的作者就有機會決定 AI 能做什麼、不用問你。所以比較安全的做法是:能放寬權限的設定,只認「你自己的電腦上、你自己設定的」那一層。
這次 2.1.207 的幾個改動,大多就是在這個方向。官方的版本說明只寫了調整內容,沒有說明是否有人實際利用過這些情況。
發生什麼事
Claude Code 在 7 月 11 日(UTC)釋出 2.1.207,跟安全與信任範圍有關的改動包括:
- 自動模式:不再讀取專案內
.claude/settings.local.json的autoMode設定,請改放在使用者層級的~/.claude/settings.json - 外掛選項:
pluginConfigs不再從專案層級的.claude/settings.json讀取,只認使用者設定、--settings與受管設定 - 外掛指令的注入防護:外掛的 hooks、monitors 與 MCP
headersHelper若在 shell 形式的指令裡用${user_config.*},現在會被拒絕 - 同意對話框:修好非互動執行(
claude -p或 SDK)時,遠端受管設定會被永久記成「已同意」,卻從來沒顯示安全同意對話框的問題 - 誤報:修好一般的系統訊息被當成提示詞注入而跳出警告的問題
其他重要變更
- Bedrock、Vertex 與 Claude Platform on AWS 的預設模型,改為 Claude Opus 4.8
- 自動模式在 Bedrock、Vertex AI 與 Foundry 上,不再需要用環境變數手動啟用;要關閉可以在設定裡用
disableAutoMode - 自動更新程式不會再蓋掉你放在
~/.local/bin/claude的自訂啟動腳本或捷徑,/doctor也會告訴你啟動器是外部管理的 /usage-credits的金額輸入會檢查格式,超過 1,000 美元要打字確認- Windows 上若 AWS 憑證解析卡住,60 秒的防卡死機制現在會生效,不再無限等待
- 修好串流輸出很長的清單或表格時,終端機卡住、打字延遲的問題
給開發者的技術細節
升級後,建議檢查三件事:
- 自動模式:如果你原本把
autoMode設在專案的.claude/settings.local.json,現在要搬到~/.claude/settings.json,否則會被忽略 - 外掛選項:專案層級的
.claude/settings.json裡若放了外掛選項值,同樣不再生效 - 外掛指令:如果你自己寫外掛,hooks 要改用 exec 形式(用
args陣列),或讀環境變數$CLAUDE_PLUGIN_OPTION_<KEY>;monitors 與headersHelper則在腳本裡自己讀設定值(設定檔,或伺服器的env區塊)
我的看法
這類更新很容易被忽略,因為它們沒有新功能、不會讓 AI 變聰明。但對常在不同專案之間切換、又喜歡開自動模式的人來說,這種「信任範圍」的收緊,其實比多一個指令重要。
我的習慣是把「會放寬權限」的設定,都放在自己的使用者層級,專案資料夾裡只放跟專案本身有關的規則。如果你的團隊把 autoMode 之類的設定提交進版本控制,現在要重新討論:它們能不能放寬,應該由每個人自己決定,而不是被複製來的專案決定。
名詞小辭典
- 自動模式(Auto mode):讓 Claude Code 在一定範圍內不用每步都問你,自己執行動作的模式。
- 提示詞注入(Prompt Injection):有人把惡意指令藏在文字、檔案或網頁裡,想騙 AI 照做。
- 命令注入:攻擊者把惡意指令混進程式要執行的命令字串,讓系統執行不該執行的事。
- 外掛(Plugin):擴充 Claude Code 功能的附加套件,可以包含指令、掛鉤與工具設定。
資料來源
常見問題
為什麼「專案內的設定」要被收緊?
專案資料夾裡的檔案可能來自別人(例如複製來的程式碼庫),如果它能決定 AI 能不能不經詢問就動作,風險就比較高。官方這次的版本說明只寫了調整,沒有說明是否有人實際利用。
我原本把 autoMode 放在專案的 settings.local.json,現在怎麼辦?
官方的指示是改放在使用者層級的 ~/.claude/settings.json。升級後這個專案層級的設定會被忽略,所以要自己搬過去。
外掛的 shell 指令被拒絕了怎麼改?
官方建議:hooks 改用 exec 形式(用 args 陣列),或使用環境變數 $CLAUDE_PLUGIN_OPTION_<KEY>;monitors 與 headersHelper 則在腳本內自己讀取設定值,例如設定檔或伺服器的 env 區塊。
接著讀
全部觀點 →Claude Code 2.1.183:自動模式新增攔截規則,你沒開口就不會 reset --hard、amend 與 destroyClaude Code 2.1.183 讓自動模式更保守:沒被要求時,會擋下 git reset --hard、clean -fd、commit --amend 與 terraform destroy 等破壞性指令。另有排程與 webhook 訊息的信任範圍調整。閱讀 →Claude Code 新增「閒置壓縮」:長對話放著 54 分鐘就先整理好,回來不用整段重算Claude Code 2.1.299 加入閒置壓縮:超過 20 萬 token 的終端機對話,閒置約 54 分鐘時會趕在一小時的提示快取過期前先壓縮,下一則訊息不必把整段對話重新處理一次。這版也新增讓 @ 檔案只傳路徑的設定。閱讀 →Claude Code 2.1.251 讓你看見快取有沒有命中:換模型前還能先攔一下,避免悄悄多花錢Claude Code 在 8 月 28 日釋出 2.1.251,/cost 多了一行提示快取統計,也新增換模型前後的 hook。同一版還補了 5 項跟檔案路徑、權限有關的安全修正。閱讀 →