觀點 · 資訊分享
Claude Code v2.1.160:改 .npmrc、.zshenv 這類檔案之前,現在會先問你
Claude Code 2.1.160 新增兩道確認:寫入 shell 啟動檔、或在 acceptEdits 模式下改會執行程式的建置設定檔時,都會先跳出提示。另外「workflow」關鍵字也改名成 ultracode。
- 發布
- 2026-06-02
- 篇幅
- 約 4 分鐘 · 1,846 字
- 結構
- 7 節 + 4 題常見問題
- 標籤

一句話看懂:Claude Code 2.1.160 幫「會偷偷執行指令的設定檔」加上確認關卡,AI 想改這些檔案之前,現在會先停下來問你。

先用白話講:為什麼改設定檔要特別小心?
想像你請裝潢師傅到家裡幫忙,你放心讓他挪家具、刷油漆,但有兩樣東西你會想親自點頭:一是大門的門鎖,二是電箱開關。因為這兩處一動,之後整個家的安全就跟著變了。
電腦裡也有這樣的檔案。像 shell 的啟動檔,每次你開新的終端機視窗,裡面寫的指令就會自動跑一遍;套件管理與建置工具的設定檔,也常常能指定在安裝或建置時執行某些程式。AI 助手如果被誘導把惡意指令寫進這些檔案,下次你什麼都沒做,指令就已經跑起來了。
發生什麼事
Anthropic 的 AI 寫程式工具 Claude Code,在 2026 年 6 月 2 日發布 v2.1.160。更新說明裡跟這個主題有關的有兩條:
- 寫入 shell 啟動檔前會先問:官方點名
.zshenv、.zlogin、.bash_login,以及~/.config/git/。官方的說法是,這些位置如果不先確認,可能導致非預期的指令執行。 - acceptEdits 模式也加上關卡:這個模式原本會自動接受 AI 的檔案編輯。現在寫入「能授予程式執行能力的建置工具設定檔」之前,會先跳出確認。官方舉的例子有
.npmrc、.yarnrc*、bunfig.toml、.bazelrc、.pre-commit-config.yaml、.devcontainer/,後面還有「等等」,完整清單原文沒有列出。
還有哪些值得一提的改動
這個版本其他改動大多是修 bug,挑幾個跟日常使用比較有關的:
| 類型 | 內容 |
|---|---|
| 流程變順 | 單一檔案的 grep、egrep、fgrep 指令,現在也能滿足「編輯前要先讀檔」的檢查,不用多一次 Read |
| 背景工作階段 | 修了好幾個背景代理(background agents)重新接上後,對話歷史遺失或重跑原本提示的問題 |
| Windows 與 WSL | 修了 WSL 上選取即複製沒寫進 Windows 剪貼簿的問題 |
| 關鍵字改名 | 動態工作流程的觸發字從 workflow 改成 ultracode,只打 workflow 不再觸發,用自己的話請它跑仍然有效 |
| 移除 | 移除啟動時的 JetBrains 外掛安裝建議 |
給開發者的技術細節
- 版本:v2.1.160,GitHub Releases 頁面標示的發布時間為 6 月 2 日。
- 提示不是禁止:這次是「寫入前要你確認」,不是直接封鎖。你看過內容、確定沒問題,還是可以放行。
- 專案裡的設定檔也要留意:
.devcontainer/、.pre-commit-config.yaml這類檔案常常跟著專案進版控,團隊成員拉下來後可能自動被執行。AI 改過這些檔案,在 code review 時值得多看一眼。 - 舊腳本要檢查:如果你有在腳本或文件裡寫「提示詞加 workflow 觸發動態工作流程」,這版之後要改成
ultracode。
我的看法
我自己用 AI 改檔案時,常常為了省事開「自動接受編輯」。這次的更新剛好補上這個習慣最大的洞:自動接受的檔案,其實不是每一種都適合自動接受。
接案時我們常在專案裡放 .npmrc、pre-commit 設定,在家用 NAS 或開發機也會改 shell 設定。這些檔案平常很少有人會打開檢查,卻能影響整台機器的行為。多一道確認,成本只有幾秒鐘,我覺得很划算。
不過提示只有在你認真看的時候才有用。如果每次跳出來都無腦按同意,等於沒加。建議看到提示時,至少掃一眼它要寫進去的內容,有看不懂的指令就先不要放行。
名詞小辭典
- Claude Code:Anthropic 推出的 AI 寫程式工具,可以直接在終端機裡讀程式碼、改檔案、跑指令。
- shell 啟動檔:每次打開終端機都會自動執行的設定檔,例如
.zshenv,裡面寫什麼就跑什麼。 - acceptEdits 模式:Claude Code 的權限模式之一,會自動接受 AI 對檔案的編輯,不必逐次確認。
- pre-commit:在你提交程式碼之前自動跑檢查的工具,設定寫在
.pre-commit-config.yaml,它的設定也能指定要執行的程式。